/* יומן מסחר — עיצוב כהה בלבד, מותאם לטלגרם באייפון (390px) */

:root {
  /* (11/11/2026) השפה העיצובית המשותפת: admiral-tokens.css (נטען לפני הקובץ הזה). צבעי הרווח וההפסד נשארים של היומן */
  --adm-accent: var(--adm-accent-journal);
  --bg: var(--adm-bg);
  --bg-2: #13161f;
  --card: var(--adm-surface);
  --card-2: var(--adm-surface-2);
  --field: #121418;
  --line: #2a2e36;
  --line-soft: #23272e;
  --text: var(--adm-text);
  --text-2: var(--adm-text-2);
  --muted: var(--adm-text-3);
  --dim: #626976;
  --blue: #4c9bff;
  --blue-strong: #1f7aff;
  --blue-soft: rgba(76, 155, 255, 0.15);
  --green: #4fd19b;
  --green-soft: rgba(79, 209, 155, 0.13);
  --red: #f2767b;
  --red-soft: rgba(242, 118, 123, 0.13);
  --amber: #f0b53d;
  --amber-soft: rgba(240, 181, 61, 0.13);
  --purple: #b9a2ff;
  --purple-soft: rgba(160, 130, 255, 0.15);
  --r-card: 22px;
  --r-ctl: 14px;
  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --safe-top: calc(env(safe-area-inset-top, 0px) + var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px));
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --tabbar-h: 62px;
  color-scheme: dark;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: var(--bg);
}
body {
  margin: 0;
  min-height: 100dvh;
  background: var(--bg);
  color: var(--text);
  font-family: "Rubik", "Heebo", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}
html.sheet-open body {
  overflow: hidden;
}
h1,
h2,
h3,
p {
  margin: 0;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
button,
input,
textarea {
  font: inherit;
  color: inherit;
}
button {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  text-align: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}
[hidden] {
  display: none !important;
}

/* מספרים: משמאל לימין, מבודדים, רוחב ספרות קבוע */
.num {
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.pos {
  color: var(--green);
}
.neg {
  color: var(--red);
}
.zero {
  color: var(--text-2);
}
.dim {
  color: var(--dim);
}
.muted {
  color: var(--muted);
}
.small {
  font-size: 13px;
}
.tiny {
  font-size: 13px;
  color: var(--muted);
}
.center {
  text-align: center;
}
.warn-text {
  color: var(--amber);
  font-size: 0.8em;
  font-weight: 600;
}
.live {
  color: var(--blue);
  font-weight: 600;
}
.ico {
  width: 20px;
  height: 20px;
  flex: none;
}

/* ---------- מעטפת ---------- */
.app {
  max-width: 560px;
  margin: 0 auto;
  min-height: 100dvh;
  padding-bottom: calc(var(--tabbar-h) + var(--safe-bottom) + 28px);
  overflow-x: clip;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: calc(var(--safe-top) + 10px) 16px 4px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.brand-ico {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #2f8bff, #1a5fd1);
  color: #fff;
  box-shadow: 0 6px 18px rgba(31, 122, 255, 0.28);
}
.brand b {
  display: block;
  font-size: 16px;
  font-weight: 700;
}
.brand small {
  display: block;
  font-size: 13px;
  color: var(--muted);
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.demo-badge {
  font-size: 13px;
  font-weight: 600;
  color: var(--amber);
  background: var(--amber-soft);
  border: 1px solid rgba(240, 181, 61, 0.3);
  padding: 5px 10px;
  border-radius: 99px;
  white-space: nowrap;
}
.live-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
}
.live-dot i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px var(--green-soft);
}
.icon-btn {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: var(--text-2);
  border: 1px solid var(--line);
  flex: none;
  transition: background 0.15s, transform 0.12s;
}
.icon-btn.ghost {
  border: 0;
  background: rgba(255, 255, 255, 0.06);
}
.icon-btn:active {
  transform: scale(0.94);
  background: rgba(255, 255, 255, 0.08);
}

/* סינון גלובלי — נדבק למעלה */
.filterbar {
  position: sticky;
  top: var(--safe-top);
  z-index: 20;
  padding: 0 16px;
  margin-top: 8px;
  transition: background 0.2s, box-shadow 0.2s;
}
.filterbar-in {
  padding: 8px 0 10px;
}
.filterbar.stuck {
  background: rgba(15, 17, 21, 0.86);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  backdrop-filter: blur(18px) saturate(1.4);
  box-shadow: 0 1px 0 var(--line-soft), 0 10px 24px rgba(0, 0, 0, 0.25);
}

/* בקר מקטעים */
.seg {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  padding: 4px;
  background: #1d2027;
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  isolation: isolate;
}
.seg-ind {
  position: absolute;
  top: 4px;
  bottom: 4px;
  inset-inline-start: 4px;
  width: calc((100% - 8px) / var(--n));
  transform: translateX(calc(var(--i) * -100%));
  border-radius: 12px;
  background: #101216;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 2px 8px rgba(0, 0, 0, 0.35);
  transition: transform 0.32s var(--ease);
  z-index: -1;
}
.seg-btn {
  height: 40px;
  border-radius: 12px;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: var(--muted);
  transition: color 0.2s;
  white-space: nowrap;
}
.seg-btn.on {
  color: var(--text);
  font-weight: 600;
}

.acc-chips {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  margin-inline: -16px;
  padding-inline: 16px;
}
.acc-chips::-webkit-scrollbar {
  display: none;
}
.acc-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 10px 0 14px;
  padding-inline: 8px 12px;
  border-radius: 13px;
  background: var(--card);
  border: 1px solid var(--line);
  color: var(--text-2);
  font-size: 14.5px;
  font-weight: 500;
  white-space: nowrap;
  flex: none;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.acc-chip.on {
  background: #1c2738;
  border-color: #33507d;
  color: var(--text);
}
.acc-chip[aria-disabled="true"] {
  cursor: default;
}
.chip-check {
  width: 16px;
  height: 16px;
  color: var(--blue);
}

/* אות החשבון */
.badge {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  flex: none;
  background: #262a31;
  color: #cfd5de;
}
.badge.sm {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 13px;
}
.badge.lg {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  font-size: 19px;
}
.acc-vantage {
  background: #1f2d47;
  color: #8fb4ff;
}
.acc-bybit {
  background: #3a2f17;
  color: #f0b53d;
}
.acc-startrader {
  background: #2d2542;
  color: #c0a6ff;
}

/* ---------- לשוניות תוכן ---------- */
.view.enter {
  animation: viewIn 0.24s var(--ease) both;
}
@keyframes viewIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}

.hero {
  padding: 14px 20px 6px;
}
.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  color: var(--muted);
}
.dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue);
  flex: none;
}
.hero-title {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-top: 6px;
  line-height: 1.15;
}
.hero-sub {
  margin-top: 6px;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.5;
}
.hero-meta {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13.5px;
  color: var(--muted);
}
.hero-meta .ico {
  width: 17px;
  height: 17px;
}

.period-bar {
  margin: 12px 16px 0;
}
.range {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 20px 2px;
  font-size: 14px;
  color: var(--muted);
}
.range .ico {
  width: 18px;
  height: 18px;
}

.section-title {
  font-size: 18px;
  font-weight: 700;
  margin: 22px 20px 0;
}

/* כרטיסים */
.card {
  margin: 12px 16px 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  padding: 18px;
  position: relative;
}
.card.flush-x {
  padding-inline: 0;
  padding-bottom: 0;
  overflow: hidden;
}
.pad-x {
  padding-inline: 18px;
}
.card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.card-titles {
  min-width: 0;
}
.eyebrow {
  font-size: 13.5px;
  color: var(--muted);
}
.card-title {
  font-size: 21px;
  font-weight: 700;
  margin-top: 3px;
  line-height: 1.25;
}
.sub {
  font-size: 14px;
  color: var(--muted);
  margin-top: 5px;
}
.label {
  font-size: 14px;
  color: var(--muted);
}
.divider {
  height: 1px;
  background: var(--line-soft);
  margin: 18px 0 14px;
}

.tile {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  flex: none;
}
.tile .ico {
  width: 22px;
  height: 22px;
}
.tile.sm {
  width: 30px;
  height: 30px;
  border-radius: 9px;
}
.tile.sm .ico {
  width: 17px;
  height: 17px;
}
.tile-blue {
  background: var(--blue-soft);
  color: #6aa8ff;
}
.tile-purple {
  background: var(--purple-soft);
  color: var(--purple);
}
.tile-green {
  background: var(--green-soft);
  color: var(--green);
}
.tile-amber {
  background: var(--amber-soft);
  color: var(--amber);
}
.tile-gray {
  background: #262a31;
  color: #c0c6d0;
}

/* כרטיס משולב */
.combo-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.combo-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-weight: 700;
}
.num.lg,
.combo-total .num {
  font-size: 21px;
}
.acc-cols {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), 1fr);
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.acc-col {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.acc-col-name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.acc-col-val {
  font-size: 16.5px;
  font-weight: 700;
}
.acc-col-sub {
  font-size: 13px;
  color: var(--dim);
}

/* כרטיס יתרה */
.card.balance {
  background: linear-gradient(165deg, #1a2a44 0%, #152238 55%, #121c2c 100%);
  border-color: #27405f;
}
.bal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.bal-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #8fb4ff;
  font-weight: 500;
}
.bal-big {
  font-size: 44px;
  font-weight: 700;
  color: #a9c8ff;
  letter-spacing: -0.02em;
  margin-top: 8px;
  line-height: 1.1;
}
.bal-big.md {
  font-size: 36px;
}
.bal-sub {
  font-size: 13.5px;
  color: #8da0bb;
  margin-top: 6px;
}
.bal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 14px;
  color: #9fb0c8;
}
.bal-foot b,
.acc-sub b {
  color: var(--text);
  font-weight: 600;
  margin-inline-start: 4px;
}
.vsep {
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.12);
}
.bal-rows {
  margin: 14px -18px -18px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}
.bal-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 62px;
  padding: 10px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  transition: background 0.15s;
}
.bal-row:first-child {
  border-top: 0;
}
.bal-row:active {
  background: rgba(255, 255, 255, 0.04);
}
.bal-row-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bal-row-main b {
  font-size: 15.5px;
  font-weight: 600;
}
.bal-row-main small {
  font-size: 13px;
  color: #8da0bb;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bal-row-val {
  font-size: 17px;
  font-weight: 700;
  color: #cfe0ff;
}

/* כרטיסי סטטיסטיקה */
.stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 12px 16px 0;
}
.card.stat {
  margin: 0;
  padding: 15px 14px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.stat-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.3;
}
.stat-big {
  font-size: 28px;
  font-weight: 700;
  margin: 12px 0 4px;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.stat-big.fit {
  font-size: 21px;
}
.stat-sub {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
  margin-top: auto;
}
.stat-wl {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  font-size: 15px;
  font-weight: 500;
  margin-top: auto;
  padding-top: 4px;
}

.result-big {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 4px 0 6px;
  line-height: 1.15;
}

/* פס רווח/הפסד */
.plbar {
  margin-top: 12px;
}
.plbar-labels {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 14px;
  color: var(--muted);
}
.plbar-labels .num {
  font-weight: 600;
  margin-inline-start: 4px;
}
.plbar-track {
  display: flex;
  gap: 4px;
  height: 8px;
  margin-top: 10px;
}
.plbar-track i {
  display: block;
  border-radius: 99px;
  min-width: 8px;
  transition: flex-basis 0.4s var(--ease);
}
.plbar-g {
  background: var(--green);
}
.plbar-r {
  background: var(--red);
}
.plbar-track.is-empty i {
  background: #2a2e36;
}

/* עקומה */
.chart {
  margin-top: 10px;
}
.eq-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.eq-zero {
  stroke: rgba(255, 255, 255, 0.14);
  stroke-dasharray: 3 5;
  stroke-width: 1;
}
.eq-line {
  fill: none;
  stroke-width: 2.2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.eq-line.pos {
  stroke: var(--green);
}
.eq-line.neg {
  stroke: var(--red);
}
.eq-dot.pos,
.eq-halo.pos {
  fill: var(--green);
}
.eq-dot.neg,
.eq-halo.neg {
  fill: var(--red);
}
.eq-dot.zero,
.eq-halo.zero {
  fill: var(--text-2);
}
.eq-halo {
  opacity: 0.22;
}
.chart-axis {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--dim);
  margin-top: 6px;
  font-variant-numeric: tabular-nums;
}
.chart-empty {
  padding: 22px 0 8px;
  text-align: center;
  font-size: 14px;
  color: var(--muted);
}

.card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: calc(100% + 36px);
  margin: 18px -18px -18px;
  min-height: 52px;
  border-top: 1px solid var(--line-soft);
  color: var(--blue);
  font-size: 15px;
  font-weight: 500;
  border-radius: 0 0 var(--r-card) var(--r-card);
  transition: background 0.15s;
}
.card-link:active {
  background: rgba(76, 155, 255, 0.06);
}
.card-link .ico {
  width: 18px;
  height: 18px;
}

/* תובנות */
.insights li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-2);
}
.insights li + li {
  border-top: 1px solid var(--line-soft);
}
.insights li:first-child {
  padding-top: 0;
}
.insights li:last-child {
  padding-bottom: 0;
}
.insights .bullet {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 0 4px var(--amber-soft);
  flex: none;
  margin-top: 9px;
  margin-inline: 4px 2px;
}

/* מצב ריק */
.empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 22px 10px 16px;
  gap: 8px;
}
.empty-ico {
  width: 54px;
  height: 54px;
  padding: 14px;
  border-radius: 18px;
  background: #22262d;
  color: var(--muted);
  margin-bottom: 6px;
}
.empty-title {
  font-size: 18px;
  font-weight: 600;
}
.empty-text {
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.55;
  max-width: 290px;
}

/* ---------- עסקאות ---------- */
.trades-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 10px 16px 0;
}
.ttabs {
  display: flex;
  gap: 4px;
}
.ttab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 44px;
  padding: 0 8px;
  font-size: 16px;
  font-weight: 500;
  color: var(--muted);
  transition: color 0.15s;
}
.ttab .count {
  min-width: 26px;
  height: 22px;
  padding: 0 7px;
  border-radius: 7px;
  display: inline-grid;
  place-items: center;
  font-size: 13px;
  background: #22262d;
  color: var(--muted);
}
.ttab.on {
  color: var(--blue);
  font-weight: 600;
}
.ttab.on .count {
  background: var(--blue-soft);
  color: var(--blue);
}
.ttabs {
  flex: none;
}
.search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 12px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-ctl);
  flex: 1;
  min-width: 0;
  max-width: 190px;
  color: var(--muted);
  transition: border-color 0.15s;
}
.search:focus-within {
  border-color: #3d6fb8;
}
.search input {
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  outline: 0;
  font-size: 16px;
  color: var(--text);
  -webkit-appearance: none;
  appearance: none;
}
.search input::placeholder {
  color: var(--dim);
}
.search input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.day {
  margin: 18px 16px 0;
}
.day-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 0 4px 8px;
}
.day-name {
  font-size: 15px;
  font-weight: 600;
}
.day-name .muted {
  font-weight: 400;
  font-size: 13.5px;
  margin-inline-start: 4px;
}
.day-sum {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
}
.tlist {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
}
.tlist.flush {
  margin: 0 -18px -18px;
  border: 0;
  border-top: 1px solid var(--line-soft);
  border-radius: 0 0 var(--r-card) var(--r-card);
  background: transparent;
}
.trow {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border-top: 1px solid var(--line-soft);
  transition: background 0.15s;
}
.trow:first-child {
  border-top: 0;
}
.trow:active {
  background: rgba(255, 255, 255, 0.035);
}
.trow-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.trow-sym {
  display: flex;
  align-items: center;
  gap: 8px;
}
.trow-sym b {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.01em;
  direction: ltr;
  unicode-bidi: isolate;
}
.trow-acc {
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.trow-time {
  font-size: 13px;
  color: var(--dim);
}
.trow-end {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: end;
}
.trow-pnl {
  font-size: 16.5px;
  font-weight: 700;
}
.trow-lots {
  font-size: 13px;
  color: var(--muted);
}
.trow-pos {
  font-size: 13px;
  color: var(--dim);
}
.trow-end .live {
  font-size: 13px;
}
.trow-chev {
  width: 16px;
  height: 16px;
  color: var(--dim);
}

/* צד העסקה */
.side {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 22px;
  padding: 0 7px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  flex: none;
}
.side .ico {
  width: 13px;
  height: 13px;
  stroke-width: 2.3;
}
.side.buy {
  background: #1d2a42;
  color: #8fb4ff;
}
.side.sell {
  background: #2a2340;
  color: #bba3ff;
}

/* אייקון נכס */
.asset {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 23px;
  font-weight: 700;
  flex: none;
  line-height: 1;
}
.asset .ico {
  width: 26px;
  height: 26px;
  stroke-width: 1.7;
}
.asset.lg {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  font-size: 27px;
}
.asset-fx {
  background: #1f2c44;
  color: #8fb4ff;
}
.asset-gold {
  background: #3a301d;
  color: #e9c46a;
}
.asset-silver {
  background: #2a2e35;
  color: #c9d1db;
}
.asset-btc {
  background: #fbeed6;
  color: #e6912b;
}
.asset-eth {
  background: #262a48;
  color: #a5b0ff;
}
.asset-crypto {
  background: #1f3433;
  color: #7fd3c4;
}
.asset-gen {
  background: #262a31;
  color: #cfd5de;
}

/* ---------- דוחות ---------- */
.mgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}
.mcell {
  background: var(--card-2);
  border-radius: 14px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.mcell .k {
  font-size: 13px;
  color: var(--muted);
}
.mcell .v {
  font-size: 19px;
  font-weight: 700;
}
.mcell .s {
  font-size: 13px;
  color: var(--dim);
  line-height: 1.4;
}

.brows {
  display: flex;
  flex-direction: column;
}
.brow {
  padding: 11px 0;
  border-top: 1px solid var(--line-soft);
}
.brow:first-child {
  border-top: 0;
  padding-top: 0;
}
.brow:last-child {
  padding-bottom: 0;
}
.brow-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.brow-lbl {
  flex: 1;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 500;
}
.brow-meta {
  font-size: 13px;
  color: var(--dim);
  white-space: nowrap;
  min-width: 124px;
  text-align: end;
}
.brow-val {
  font-size: 15px;
  font-weight: 700;
  text-align: end;
  flex: none;
}
.brow-lbl {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brow-bottom {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 7px;
}
.brow-track {
  flex: 1;
  height: 6px;
  background: #23272e;
  border-radius: 99px;
  overflow: hidden;
}
.brow-track i {
  display: block;
  height: 100%;
  border-radius: 99px;
}
.brow-track i.pos {
  background: var(--green);
}
.brow-track i.neg {
  background: var(--red);
}
.brow-track i.zero {
  background: #4a505b;
}
.foot-note {
  margin-top: 12px;
}
.pad-y {
  padding: 6px 0;
}

/* היומן היומי */
.daily {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.daily th {
  background: var(--card-2);
  color: var(--muted);
  font-weight: 500;
  font-size: 13px;
  text-align: start;
  padding: 12px 8px;
  line-height: 1.3;
}
.daily td {
  padding: 13px 8px;
  border-top: 1px solid var(--line-soft);
  text-align: start;
}
.daily th:first-child,
.daily td:first-child {
  padding-inline-start: 18px;
}
.daily th:last-child,
.daily td:last-child {
  padding-inline-end: 18px;
}
.daily td.d {
  color: var(--blue);
}
.daily tr.is-today td {
  background: rgba(76, 155, 255, 0.06);
}
.daily-foot {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 14px;
  padding-bottom: 16px;
  border-top: 1px solid var(--line-soft);
  font-size: 13px;
  color: var(--muted);
}

/* ---------- טפסים ---------- */
.field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.field-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--muted);
}
.field-label small {
  font-weight: 400;
  color: var(--dim);
}
.input {
  width: 100%;
  height: 52px;
  padding: 0 14px;
  background: var(--field);
  border: 1px solid #2c313a;
  border-radius: var(--r-ctl);
  font-size: 18px;
  color: var(--text);
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.input::placeholder {
  color: var(--dim);
  font-weight: 400;
}
.input:focus {
  border-color: #3d79d6;
  box-shadow: 0 0 0 3px rgba(76, 155, 255, 0.16);
}
.num-in,
.sym-in {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  text-align: left;
}
.sym-in {
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.input.area {
  height: auto;
  min-height: 92px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.5;
  resize: vertical;
}
.grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}
.grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.grid3 .input {
  font-size: 16px;
  padding: 0 10px;
  height: 48px;
}

.chips {
  display: flex;
  gap: 8px;
}
.chips.wrap {
  flex-wrap: wrap;
}
.chips.scroll {
  overflow-x: auto;
  scrollbar-width: none;
  margin: 10px -18px 0;
  padding: 0 18px;
}
.chips.scroll::-webkit-scrollbar {
  display: none;
}
.chips.quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-top: 10px;
}
.chips.quick .chip {
  padding: 0 4px;
  font-size: 14px;
  min-width: 0;
}
.chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 42px;
  padding: 0 15px;
  border-radius: 12px;
  background: var(--card-2);
  border: 1px solid #2c3139;
  color: var(--text-2);
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
  flex: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.12s;
}
.chip::after {
  content: "";
  position: absolute;
  inset: -3px -2px;
}
.chip:active {
  transform: scale(0.96);
}
.chip.on {
  background: rgba(76, 155, 255, 0.16);
  border-color: #3d6fb8;
  color: #d6e6ff;
}
.chip.yes.on {
  background: var(--green-soft);
  border-color: rgba(79, 209, 155, 0.5);
  color: var(--green);
}
.chip.no.on {
  background: var(--red-soft);
  border-color: rgba(242, 118, 123, 0.5);
  color: var(--red);
}
.chip .ico {
  width: 16px;
  height: 16px;
}
.chip.static {
  cursor: default;
  height: 34px;
  font-size: 14px;
}
.chip.static.warn {
  background: var(--amber-soft);
  border-color: rgba(240, 181, 61, 0.3);
  color: #f3cf86;
}

.side-box {
  height: 52px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px dashed #2f343d;
  border-radius: var(--r-ctl);
  overflow: hidden;
}
.side-box .side {
  height: 28px;
  padding: 0 10px;
  font-size: 14px;
}
.side-box small {
  font-size: 13px;
  white-space: nowrap;
}

.risk-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.risk-row .chips {
  flex: 1;
  gap: 6px;
}
.risk-row .chip {
  flex: 1;
  padding: 0 6px;
}
.custom-risk {
  position: relative;
  width: 82px;
  flex: none;
}
.custom-risk .input {
  height: 42px;
  font-size: 16px;
  padding: 0 24px 0 10px;
  text-align: center;
  border-radius: 12px;
}
.custom-risk span {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--dim);
  font-size: 14px;
  pointer-events: none;
}
.custom-risk.on .input {
  border-color: #3d6fb8;
  background: rgba(76, 155, 255, 0.1);
}
.calc-form > .field-label {
  margin-top: 18px;
}

.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.toggle-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.toggle-text b {
  font-size: 16px;
  font-weight: 600;
}
.toggle-text small {
  font-size: 13px;
  color: var(--muted);
}
.switch {
  width: 52px;
  height: 32px;
  border-radius: 99px;
  background: #2f343d;
  position: relative;
  flex: none;
  transition: background 0.22s;
}
.switch i {
  position: absolute;
  top: 3px;
  inset-inline-start: 3px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  transition: transform 0.26s var(--ease);
}
.switch.on {
  background: var(--green);
}
.switch.on i {
  transform: translateX(-20px);
}

/* כרטיס תוצאה במחשבון */
.hint-card {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
.hint-card .ico {
  width: 26px;
  height: 26px;
  color: var(--blue);
}
.rc.is-bad {
  border-color: rgba(242, 118, 123, 0.35);
}
.rc-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.rc-name {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.rc-name b {
  font-size: 16px;
  font-weight: 600;
}
.rc-name small {
  font-size: 13px;
  color: var(--muted);
}
.rc-sym {
  margin-inline-start: auto;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-2);
  background: var(--card-2);
  border-radius: 8px;
  padding: 5px 9px;
}
.rc-main {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
}
.rc-lots {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rc-big {
  font-size: 46px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.rc-big small {
  font-size: 17px;
  font-weight: 500;
  color: var(--muted);
  margin-inline-start: 8px;
  letter-spacing: 0;
}
.rc-big.neg .num {
  color: var(--red);
}
.rc-main .side {
  height: 28px;
  padding: 0 10px;
  font-size: 14px;
  margin-bottom: 8px;
}
.rc-rows {
  margin-top: 14px;
  background: var(--card-2);
  border-radius: 14px;
  padding: 2px 14px;
}
.rc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.rc-row:first-child {
  border-top: 0;
}
.rc-row .k {
  font-size: 14px;
  color: var(--muted);
}
.rc-row .k small {
  font-size: 13px;
  color: var(--dim);
}
.rc-row .v {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15.5px;
  font-weight: 700;
}
.rc-row .v.neg {
  color: var(--red);
}
.rc-row .sep {
  color: var(--dim);
  font-weight: 400;
}
.rc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 14px;
}
.rc-stats > div {
  background: var(--card-2);
  border-radius: 14px;
  padding: 10px 11px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.rc-stats .k {
  font-size: 13px;
  color: var(--muted);
}
.rc-stats .v {
  font-size: 15.5px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rc-stats .s {
  font-size: 13px;
  color: var(--muted);
}
.tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 6px;
  background: var(--amber-soft);
  color: var(--amber);
}
.tag.ok {
  background: var(--green-soft);
  color: var(--green);
}
.rc-tp {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 10px;
  padding: 11px 12px;
  background: rgba(79, 209, 155, 0.08);
  border-radius: 12px;
  font-size: 14px;
  color: var(--text-2);
}
.rc-tp b {
  margin-inline-start: 4px;
}
.alert {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 12px;
  padding: 12px;
  border-radius: 14px;
  font-size: 14.5px;
  line-height: 1.55;
}
.alert .ico {
  width: 20px;
  height: 20px;
  margin-top: 1px;
}
.alert.warn {
  background: var(--amber-soft);
  border: 1px solid rgba(240, 181, 61, 0.28);
  color: #f3cf86;
}
.alert.bad {
  background: var(--red-soft);
  border: 1px solid rgba(242, 118, 123, 0.32);
  color: #ffb7ba;
}
.alert .num {
  font-weight: 700;
  color: inherit;
}

/* כפתורים */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 50px;
  padding: 0 20px;
  border-radius: var(--r-ctl);
  font-size: 16px;
  font-weight: 600;
  background: #252a32;
  border: 1px solid #2f353e;
  color: var(--text);
  transition: transform 0.12s, background 0.15s, opacity 0.15s;
}
.btn:active {
  transform: scale(0.98);
}
.btn .ico {
  width: 19px;
  height: 19px;
}
.btn.primary {
  background: var(--blue-strong);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 22px rgba(31, 122, 255, 0.28);
}
.btn.ghost {
  background: transparent;
}
.btn.block {
  width: 100%;
  margin-top: 14px;
}
.btn.done {
  background: var(--green-soft);
  border-color: rgba(79, 209, 155, 0.35);
  color: var(--green);
  box-shadow: none;
}
.btn:disabled {
  opacity: 0.6;
}
.btn.busy {
  opacity: 0.7;
}
.btn-row {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}
.btn-row .btn {
  flex: 1;
}

/* ---------- יתרות ---------- */
.acc-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.acc-name {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.acc-name b {
  font-size: 18px;
  font-weight: 700;
}
.acc-name small {
  font-size: 13px;
  color: var(--muted);
}
.acc-month {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 16px;
  font-weight: 700;
}
.acc-big {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-top: 2px;
}
.acc-sub {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 14px;
  color: var(--muted);
  flex-wrap: wrap;
}
.acc-upd {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}
.acc-upd .ico {
  width: 15px;
  height: 15px;
}
.bal-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line-soft);
}
.bal-form > .muted {
  margin-top: 8px;
}
.form-err {
  margin-top: 8px;
  color: var(--red);
  font-size: 14px;
}
.cash-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--line-soft);
}
.cash-row:first-child {
  border-top: 0;
  padding-top: 0;
}
.cash-ico {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex: none;
}
.cash-ico.pos {
  background: var(--green-soft);
}
.cash-ico.neg {
  background: var(--red-soft);
}
.cash-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cash-main b {
  font-size: 15px;
  font-weight: 600;
}
.cash-main small {
  font-size: 13px;
  color: var(--muted);
}
.cash-amt {
  font-size: 16px;
  font-weight: 700;
}
.usage {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 20px 16px 0;
  font-size: 13px;
  color: var(--dim);
}
.usage .ico {
  width: 15px;
  height: 15px;
}

/* ---------- סרגל לשוניות ---------- */
.tabbar {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, 560px);
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  height: calc(var(--tabbar-h) + var(--safe-bottom));
  padding-bottom: var(--safe-bottom);
  background: rgba(21, 23, 28, 0.92);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  backdrop-filter: blur(18px) saturate(1.4);
  border-top: 1px solid #24272d;
}
.tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #858c98;
  font-size: 13px;
  font-weight: 500;
  transition: color 0.15s;
}
.tab .ico {
  width: 25px;
  height: 25px;
  stroke-width: 1.8;
  transition: transform 0.18s var(--ease);
}
.tab:active .ico {
  transform: scale(0.88);
}
.tab.on {
  color: var(--blue);
}
.tab.on span {
  font-weight: 600;
}

/* ---------- גיליון תחתון ---------- */
.sheet-wrap {
  position: fixed;
  inset: 0;
  z-index: 100;
}
.sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.58);
  opacity: 0;
  transition: opacity 0.28s;
}
.sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 560px;
  margin: 0 auto;
  max-height: calc(100vh - var(--safe-top) - 36px);
  max-height: calc(100dvh - var(--safe-top) - 36px);
  display: flex;
  flex-direction: column;
  background: #171a1f;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 26px 26px 0 0;
  transform: translateY(100%);
  transition: transform 0.38s var(--ease);
  box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.45);
  padding-bottom: var(--safe-bottom);
}
.sheet-wrap.open .sheet {
  transform: translateY(0);
}
.sheet-wrap.open .sheet-backdrop {
  opacity: 1;
}
.sheet-grab {
  height: 26px;
  display: grid;
  place-items: center;
  flex: none;
  touch-action: none;
}
.sheet-grab span {
  width: 40px;
  height: 5px;
  border-radius: 99px;
  background: #3a3f48;
}
.sheet-body {
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 2px 18px 26px;
}
.sh-head {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 12px;
}
.sh-title h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 22px;
  font-weight: 700;
}
.sh-title p {
  font-size: 14px;
  margin-top: 3px;
}
.sh-pnl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 10px;
  padding: 14px 16px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.sh-pnl .result-big {
  font-size: 34px;
  margin: 2px 0 0;
}
.rpill {
  font-size: 17px;
  font-weight: 700;
  padding: 7px 12px;
  border-radius: 11px;
}
.rpill.pos {
  background: var(--green-soft);
}
.rpill.neg {
  background: var(--red-soft);
}
.kv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.kv {
  background: var(--card);
  border-radius: 14px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.kv .k {
  font-size: 13px;
  color: var(--muted);
}
.kv .v {
  font-size: 15px;
  font-weight: 600;
}
.sh-sec {
  font-size: 18px;
  font-weight: 700;
  margin: 24px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line-soft);
}
.sheet-body .field-label {
  margin: 16px 0 8px;
}
.notes {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.notes li {
  background: var(--card);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14.5px;
  line-height: 1.5;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.notes small {
  color: var(--dim);
  font-size: 13px;
  flex: none;
}
.sheet-body .btn.block {
  margin-top: 18px;
}
.sheet-body > .muted.small {
  margin-top: 10px;
}

/* ---------- הודעה קצרה ---------- */
.toast {
  position: fixed;
  left: 50%;
  bottom: calc(var(--tabbar-h) + var(--safe-bottom) + 14px);
  transform: translate(-50%, 16px);
  z-index: 200;
  display: flex;
  align-items: center;
  gap: 9px;
  max-width: calc(100% - 32px);
  width: max-content;
  padding: 12px 16px;
  background: #262b33;
  border: 1px solid #353b45;
  border-radius: 15px;
  font-size: 15px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s, transform 0.3s var(--ease);
}
.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}
.toast.ok .ico {
  color: var(--green);
}
.toast.err .ico {
  color: var(--red);
}

/* ---------- מסכי מצב ---------- */
.screen {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 32px 28px;
  text-align: center;
}
.screen-ico {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  background: var(--blue-soft);
  color: #6aa8ff;
  margin-bottom: 4px;
}
.screen-ico .ico {
  width: 34px;
  height: 34px;
}
.screen-title {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.3;
}
.screen-text {
  font-size: 15.5px;
  color: var(--muted);
  line-height: 1.6;
  max-width: 310px;
}
.screen .btn {
  margin-top: 8px;
  min-width: 200px;
}
.spinner {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 3px solid #2a2f38;
  border-top-color: var(--blue);
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (hover: hover) {
  .trow:hover,
  .bal-row:hover {
    background: rgba(255, 255, 255, 0.03);
  }
  .chip:hover {
    border-color: #3a404a;
  }
}

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

@media (max-width: 359px) {
  .hero-title {
    font-size: 28px;
  }
  .stat-big {
    font-size: 24px;
  }
  .bal-big {
    font-size: 38px;
  }
  .rc-stats {
    grid-template-columns: 1fr 1fr;
  }
}

/* ---------- כניסה מהדפדפן (Face ID / קוד בטלגרם) ---------- */
.login-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 340px;
  margin-top: 8px;
}
.login-box [hidden] {
  display: none !important;
}
#lg-codebox:not([hidden]) {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.btn.big {
  min-height: 52px;
  font-size: 16px;
}
.login-label {
  color: var(--muted);
  font-size: 14px;
  text-align: center;
}
.login-code {
  width: 100%;
  box-sizing: border-box;
  min-height: 56px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--card-2);
  color: var(--text);
  font: 600 24px/1 "Rubik", system-ui, sans-serif;
  letter-spacing: 0.35em;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.login-code:focus {
  outline: 2px solid var(--blue);
  outline-offset: 1px;
}
#lg-msg {
  min-height: 20px;
  margin: 2px 0 0;
}
.login-demo {
  color: var(--muted);
  font-size: 14px;
  text-align: center;
  margin-top: 6px;
}

/* ---------- גרסה 0.2: תוכנית, סיגנלים, כללים, הפקדות ---------- */
.hero-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.add-btn {
  height: 44px;
  padding: 0 14px 0 16px;
  gap: 6px;
  flex: none;
  background: var(--blue-soft);
  border-color: rgba(76, 155, 255, 0.35);
  color: #d6e6ff;
}
.plan-mark {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: var(--amber-soft);
  color: var(--amber);
  flex: none;
}
.plan-mark .ico {
  width: 13px;
  height: 13px;
}
.grid2.tight,
.grid2.flat {
  margin-top: 0;
}
.sheet-body .grid2 .field-label {
  margin: 0;
}
.sheet-body form .grid2 {
  margin-top: 14px;
}

/* גודל הפוזיציה */
.expo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 11px 12px;
  border-radius: 14px;
  background: var(--card);
  font-size: 14.5px;
  color: var(--text-2);
}
.expo .ico {
  width: 19px;
  height: 19px;
  flex: none;
  color: var(--muted);
}
.expo .num {
  font-weight: 700;
  color: var(--text);
}
.expo small {
  display: block;
  font-size: 13px;
  margin-top: 2px;
  opacity: 0.85;
}
.expo.bad {
  background: var(--red-soft);
  border: 1px solid rgba(242, 118, 123, 0.32);
  color: #ffb7ba;
}
.expo.bad .ico,
.expo.bad .num {
  color: var(--red);
}

/* מול התוכנית */
.plan-box {
  margin-top: 12px;
  padding: 4px 14px 12px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.pl-src {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--blue);
}
.pl-src .ico {
  width: 17px;
  height: 17px;
}
.pl-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 14.5px;
}
.pl-row .k {
  color: var(--muted);
}
.pl-row .v {
  font-weight: 600;
  text-align: end;
  min-width: 0; /* ארבעה-חמישה יעדים יורדים שורה במסך צר במקום לגלוש */
}
.sep {
  font-style: normal;
  color: var(--dim);
  margin: 0 6px;
}
.pl-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--card-2);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text-2);
}
.pl-note .ico {
  width: 18px;
  height: 18px;
  flex: none;
}
.pl-note .num {
  font-weight: 700;
}
.pl-note.neg {
  background: var(--red-soft);
  color: #ffb7ba;
}
.pl-note.pos {
  background: var(--green-soft);
  color: var(--green);
}
.pl-note.warn {
  background: var(--amber-soft);
  color: #f3cf86;
}

/* פוזיציות של עסקה */
.legs {
  margin-top: 12px;
  background: var(--card);
  border-radius: 16px;
  padding: 2px 14px;
}
.leg {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--line-soft);
}
.leg:first-child {
  border-top: 0;
}
.leg-main {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.leg-main b {
  font-size: 15px;
  font-weight: 600;
}
.leg-px {
  font-size: 14px;
  color: var(--text-2);
  text-align: right;
  unicode-bidi: isolate;
}
.leg-main small {
  font-size: 13px;
  color: var(--muted);
}
.leg-pnl {
  font-size: 15.5px;
  font-weight: 700;
  flex: none;
}

/* גרפים */
.thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.thumb {
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
  padding: 0;
}
.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.thumb img:not([src]) {
  visibility: hidden;
}
.thumb.failed::after {
  content: "לא נטען";
  font-size: 13px;
  color: var(--dim);
}
.thumb.failed img {
  display: none;
}
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(0, 0, 0, 0.92);
  display: grid;
  place-items: center;
  padding: calc(var(--safe-top) + 12px) 8px calc(var(--safe-bottom) + 12px);
  overflow: auto;
}
.lightbox img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
}
.lightbox-x {
  position: absolute;
  top: calc(var(--safe-top) + 12px);
  inset-inline-end: 12px;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.12);
}
.lightbox-x .ico {
  width: 22px;
  height: 22px;
}

/* פעולות בתחתית הגיליון */
.sh-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--line-soft);
}
.sh-actions .btn {
  flex: 1 1 150px;
  height: 46px;
  padding: 0 12px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text-2);
  white-space: nowrap;
}
.btn.danger {
  color: var(--red);
  border-color: rgba(242, 118, 123, 0.3);
}
.btn.danger.armed {
  background: var(--red);
  border-color: transparent;
  color: #fff;
  flex-basis: 100%;
}
.move-box {
  margin-top: 4px;
}
.sh-head.no-ico {
  grid-template-columns: minmax(0, 1fr) 44px;
}
.dt-in {
  font-size: 16px;
  padding: 0 10px;
  min-width: 0;
  text-align: left;
  color-scheme: dark;
}
input.dt-in::-webkit-date-and-time-value {
  text-align: left;
}

/* אזהרת מינוף בסקירה */
.lev-warn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--red-soft);
  border: 1px solid rgba(242, 118, 123, 0.32);
  color: #ffb7ba;
  font-size: 14.5px;
  line-height: 1.45;
  text-align: start;
}
.lev-warn > span {
  flex: 1;
  min-width: 0;
}
.lev-warn .num {
  font-weight: 700;
}
.lev-warn .ico {
  width: 19px;
  height: 19px;
  flex: none;
}
.lev-warn .lev-chev {
  width: 16px;
  height: 16px;
  opacity: 0.7;
}

/* התייעצות על עסקה או על אזהרה (13/11/2026) */
.lev-ask {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin-top: 8px;
  padding: 9px 12px;
  border-radius: 14px;
  border: 1px solid rgba(124, 164, 255, 0.35);
  background: rgba(124, 164, 255, 0.1);
  color: #c9d8ff;
  font-size: 14.5px;
  font-weight: 600;
}
.lev-ask .ico {
  width: 18px;
  height: 18px;
  flex: none;
}
.consult .sh-sec {
  display: flex;
  align-items: center;
  gap: 8px;
}
.consult .sh-sec .ico {
  width: 18px;
  height: 18px;
  color: #9db8ff;
}
.consult .cs-go {
  margin-top: 10px;
}
.cs-sec,
.cs-qa {
  background: var(--card);
  border-radius: 12px;
  padding: 11px 13px;
  margin-top: 8px;
  font-size: 14.5px;
  line-height: 1.6;
}
.cs-h,
.cs-q {
  font-weight: 700;
  font-size: 13px;
  color: var(--dim);
  margin-bottom: 4px;
}
.cs-q {
  color: #c9d8ff;
}
.cs-sec ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-inline-start: 18px;
  list-style: disc;
}
.cs-rule {
  border: 1px solid rgba(124, 164, 255, 0.35);
  background: rgba(124, 164, 255, 0.08);
}
.cs-ask {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.cs-ask .input {
  flex: 1;
  min-width: 0;
}
.cs-ask .btn {
  flex: none;
}

/* סיגנלים */
.sg {
  padding: 14px 0;
  border-top: 1px solid var(--line-soft);
}
.sg:first-child {
  border-top: 0;
  padding-top: 0;
}
.sg:last-child {
  padding-bottom: 0;
}
.sg-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sg-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sg-sym {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sg-sym b {
  font-size: 16.5px;
  font-weight: 700;
  direction: ltr;
  unicode-bidi: isolate;
}
.sg-main small {
  font-size: 13px;
  color: var(--muted);
}
.sg-del,
.row-del {
  color: var(--muted);
}
.sg-del .ico,
.row-del .ico {
  width: 18px;
  height: 18px;
}
.icon-btn.armed {
  width: auto;
  padding: 0 12px;
  background: var(--red);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.sg-prices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 10px 0;
}
.sg-px {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--card-2);
  font-size: 14.5px;
  font-weight: 600;
  min-width: 0;
}
.sg-px small {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}
.sg-px .num {
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}
.tag:not(.ok) {
  white-space: nowrap;
}

/* דוחות: דפוסים, מול הסיגנלים, סיכום שבועי */
.patterns li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-2);
}
.patterns li:first-child {
  border-top: 0;
  padding-top: 0;
}
.patterns li:last-child {
  padding-bottom: 0;
}
.pt-text {
  flex: 1;
  min-width: 0;
}
.pt-cost {
  flex: none;
  font-weight: 700;
  font-size: 15.5px;
}
.ok-line {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  line-height: 1.55;
}
.ok-line .ico {
  width: 20px;
  height: 20px;
  flex: none;
  color: var(--green);
  margin-top: 2px;
}
.mgrid.flat {
  margin-top: 0;
}
.exits-label {
  margin-top: 16px;
}
.exits li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid var(--line-soft);
  font-size: 15px;
  color: var(--text-2);
}
.exits li:first-child {
  border-top: 0;
}
.exits li:last-child {
  padding-bottom: 0;
}
.exits li span {
  flex: 1;
}
.exits li b {
  font-size: 16px;
  color: var(--text);
}
.exits .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dim);
  flex: none;
}
.exits .dot.pos {
  background: var(--green);
}
.exits .dot.neg {
  background: var(--red);
}
.rv-headline {
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.55;
}
.rv-h {
  display: block;
  margin-top: 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--muted);
}
.rv-list li {
  position: relative;
  padding: 6px 16px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-2);
}
.rv-list li::before {
  content: "";
  position: absolute;
  right: 0;
  top: 16px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dim);
}
.rv-list.good li::before {
  background: var(--green);
}
.rv-list.warn li::before {
  background: var(--amber);
}
.rv-fix {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--blue-soft);
  border: 1px solid rgba(76, 155, 255, 0.28);
}
.rv-fix .rv-h {
  margin-top: 0;
  color: var(--blue);
}
.rv-fix p {
  margin-top: 4px;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.55;
}
.rv-vs {
  margin-top: 4px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-2);
}
.rv-old {
  margin-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.rv-old summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  font-size: 14.5px;
  color: var(--text-2);
  cursor: pointer;
  list-style: none;
}
.rv-old summary::-webkit-details-marker {
  display: none;
}
.rv-old summary .ico {
  width: 16px;
  height: 16px;
  color: var(--dim);
  transition: transform 0.2s;
}
.rv-old[open] summary .ico {
  transform: rotate(-90deg);
}
.rv-old-body {
  padding-bottom: 6px;
}
.ico.spin {
  animation: spin 0.9s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.export-btn {
  width: auto;
  margin: 16px 16px 0;
  display: flex;
}
.export-note {
  margin: 8px 16px 0;
}

/* יתרות: הפקדות, חיבור, כללים */
.acc-dep {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 12px;
  padding: 11px 12px;
  border-radius: 14px;
  background: var(--card-2);
  font-size: 14px;
  color: var(--muted);
}
.acc-dep b {
  color: var(--text);
  font-weight: 600;
  margin-inline-start: 4px;
}
.acc-dep b .num.pos {
  color: var(--green);
}
.acc-dep b .num.neg {
  color: var(--red);
}
.acc-dep small {
  margin-inline-start: 6px;
  font-size: 13px;
}
.conn {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  font-size: 13.5px;
  color: var(--muted);
}
.conn .ico {
  width: 15px;
  height: 15px;
}
.conn.on {
  color: var(--green);
}
.cash-ico.credit {
  background: var(--amber-soft);
  color: var(--amber);
}
.cash-main b {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.cash-amt.credit {
  color: var(--amber);
}
.cash-row .row-del {
  margin-inline-start: -4px;
}
.cash-form {
  margin-top: 16px;
  padding-top: 4px;
  border-top: 1px solid var(--line-soft);
}
.cash-form .field-label,
.ml-add .chips {
  margin: 14px 0 8px;
}
.cash-form .grid2 .field-label {
  margin: 0;
}
.cash-form .grid2 {
  margin-top: 14px;
}
.kind-hint {
  margin-top: 8px;
}
.unit-in {
  position: relative;
  display: block;
}
.unit-in i {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-style: normal;
  color: var(--dim);
  pointer-events: none;
}
.unit-in .input {
  padding-right: 34px;
}
.rule-wide {
  margin: 12px 0 8px;
}
.rules-sub {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line-soft);
  font-weight: 600;
  color: var(--text-2);
}
.ml-list {
  margin-top: 6px;
}
.ml-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid var(--line-soft);
}
.ml-row:first-child {
  border-top: 0;
}
.ml-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.ml-main b {
  font-size: 15px;
  font-weight: 600;
  text-align: right;
}
.ml-main small {
  font-size: 13px;
  color: var(--muted);
}
.ml-lots {
  font-size: 14.5px;
  font-weight: 600;
  white-space: nowrap;
}
.ml-add-row {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 52px;
  gap: 8px;
}
.ml-add-row .input {
  font-size: 16px;
  padding: 0 12px;
}
.ml-add-row .btn {
  height: 52px;
  padding: 0;
}
.chip:disabled {
  opacity: 0.5;
}
.asset.sm {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  font-size: 20px;
}
.asset.sm .ico {
  width: 22px;
  height: 22px;
}
.grid2.tight {
  margin-top: 12px;
}
.stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 14px;
}
.stack .field-label {
  margin: 0;
}
.stack .dt-in {
  width: 100%;
  font-size: 17px;
  padding: 0 14px;
}
.trow-r {
  font-size: 13px;
  font-weight: 600;
}
.cash-main small {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cash-note {
  color: var(--dim) !important;
  font-size: 13px !important;
  text-align: right;
}
.cash-row {
  gap: 10px;
}

/* ---------- לטיפול ---------- */
.todo-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.todo {
  border: 1px solid var(--line);
  background: var(--card-2);
  border-radius: 16px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.todo-verify,
.todo-question {
  border-color: rgba(245, 180, 70, 0.35);
}
.todo-claude {
  border-color: rgba(160, 130, 255, 0.35);
}
.todo-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 13px;
}
.todo-kind {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  color: var(--text-2);
}
.todo-kind .ico,
.todo-kind svg {
  width: 15px;
  height: 15px;
}
.todo-title {
  margin: 0;
  font-weight: 600;
  font-size: 15px;
  color: var(--text);
  line-height: 1.45;
}
.todo-how {
  margin: 0;
  font-size: 14px;
  color: var(--text-2);
  line-height: 1.55;
}
.todo-detail {
  margin: 2px 0 0;
  white-space: pre-wrap;
  word-break: break-word;
  direction: rtl;
  font: 13px/1.5 "Rubik", system-ui, sans-serif;
  color: var(--text-2);
  background: #15181d;
  border-radius: 10px;
  padding: 8px 10px;
  max-height: 160px;
  overflow: auto;
}
.todo-btns {
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 4px;
}
.todo-btns .btn {
  min-height: 40px;
  padding: 0 14px;
  font-size: 14px;
}
.todo-empty {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}
.todo-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.todo-form textarea {
  width: 100%;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--card-2);
  color: var(--text);
  font: 16px/1.5 "Rubik", system-ui, sans-serif;
  padding: 10px 12px;
  resize: vertical;
}

/* ---------- מחשבון: כמה יעדים וחלוקה ---------- */
.tps-box {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 4px 0 12px;
}
.tps-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
/* בלי כפתור מחיקה בשורה (שורה ריקה פשוט לא נספרת): כל הרוחב למחיר, כדי ש-"1.11286" לא ייחתך */
.tp-in {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  background: var(--card-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding-inline: 9px 2px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.tp-in:focus-within {
  border-color: #3d79d6;
  box-shadow: 0 0 0 3px rgba(76, 155, 255, 0.16);
}
.tp-in > .num {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  flex: none;
}
.tp-in .input {
  border: 0;
  background: transparent;
  box-shadow: none;
  min-width: 0;
  flex: 1;
  padding-inline: 4px 2px;
}
/* מסך צר מאוד: הכיתוב עולה מעל המספר, והמספר מקבל את כל רוחב המשבצת */
@media (max-width: 359px) {
  .tp-in {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 6px 8px 0;
  }
  .tp-in .input {
    height: 38px;
    padding-inline: 0;
  }
}
.split {
  border-top: 1px solid var(--line-soft);
  margin-top: 12px;
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.split-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.split-head .btn.small {
  min-height: 34px;
  font-size: 13px;
  padding: 0 10px;
}
.split-row {
  display: grid;
  grid-template-columns: 1fr 92px 1fr;
  align-items: center;
  gap: 8px;
}
.split-row.bad {
  opacity: 0.7;
}
.split-tp {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: 14px;
}
.split-tp small {
  color: var(--muted);
  font-weight: 400;
  font-size: 13px;
}
.split-in {
  text-align: center;
  min-height: 44px;
  font-size: 16px;
}
.split-in.warn {
  border-color: var(--amber, #f5b446);
}
.split-out {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-weight: 600;
}
.split-out small {
  color: var(--muted);
  font-weight: 400;
  font-size: 13px;
}
.split-sum,
.split-total {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  color: var(--text-2);
}
.split-sum.neg {
  color: var(--red, #f07178);
}
.split-total {
  font-size: 14px;
  color: var(--text);
  font-weight: 600;
}
.split-total small {
  display: block;
  color: var(--muted);
  font-weight: 400;
  font-size: 13px;
  text-align: left;
}

/* ---------- תצוגה מקדימה: צבע לכל קבוצה (FFA ירוק, THOMAS לבן). רק עם ?look=groups עד שיגאל מאשר ---------- */
html.look-groups {
  --ffa: #34d399;
  --ffa-soft: rgba(52, 211, 153, 0.14);
  --ffa-line: rgba(52, 211, 153, 0.55);
  --thomas: #f4f6fa;
  --thomas-soft: rgba(244, 246, 250, 0.12);
  --thomas-line: rgba(244, 246, 250, 0.6);
}
/* אות החשבון: לפי הקבוצה */
html.look-groups .badge.acc-vantage,
html.look-groups .badge.acc-bybit {
  background: var(--ffa-soft);
  color: var(--ffa);
  box-shadow: inset 0 0 0 1px var(--ffa-line);
}
html.look-groups .badge.acc-startrader {
  background: var(--thomas-soft);
  color: var(--thomas);
  box-shadow: inset 0 0 0 1px var(--thomas-line);
}
/* בורר הקבוצה למעלה */
html.look-groups .seg-btn[data-v="FFA"] {
  color: var(--ffa);
}
html.look-groups .seg-btn[data-v="THOMAS"] {
  color: var(--thomas);
}
html.look-groups .seg-btn[data-v="FFA"].on {
  text-shadow: 0 0 14px rgba(52, 211, 153, 0.45);
}
html.look-groups .acc-chip:has(.acc-vantage, .acc-bybit).on {
  border-color: var(--ffa-line);
  background: var(--ffa-soft);
}
html.look-groups .acc-chip:has(.acc-startrader).on {
  border-color: var(--thomas-line);
  background: var(--thomas-soft);
}
/* פס צבע בצד של כל כרטיס ושורה ששייכים לחשבון */
html.look-groups .trow[data-grp="FFA"],
html.look-groups .sg[data-grp="FFA"],
html.look-groups .card:has(> .rc-head .acc-vantage, > .rc-head .acc-bybit),
html.look-groups .sg:has(.acc-vantage, .acc-bybit),
html.look-groups .bal-row:has(.acc-vantage, .acc-bybit) {
  box-shadow: inset -3px 0 0 var(--ffa);
}
html.look-groups .trow[data-grp="THOMAS"],
html.look-groups .sg[data-grp="THOMAS"],
html.look-groups .card:has(> .rc-head .acc-startrader),
html.look-groups .sg:has(.acc-startrader),
html.look-groups .bal-row:has(.acc-startrader) {
  box-shadow: inset -3px 0 0 var(--thomas);
}
html.look-groups .grp-ffa {
  color: var(--ffa);
  font-weight: 600;
}
html.look-groups .grp-thomas {
  color: var(--thomas);
  font-weight: 600;
}
.look-banner {
  position: sticky;
  bottom: 84px;
  margin: 12px 16px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #1e2a24;
  border: 1px solid rgba(52, 211, 153, 0.45);
  color: #d8f5e9;
  font-size: 14px;
  text-align: center;
  z-index: 5;
}

/* ---------- ⓘ הסברים במחשבון ---------- */
.toggle-row .toggle-text b {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.info-btn {
  width: 30px;
  height: 30px;
  margin: -6px 0;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: var(--blue);
  background: var(--blue-soft);
}
.info-btn svg {
  width: 17px;
  height: 17px;
}
.toggle-row .switch {
  flex: none;
  cursor: pointer;
  position: relative;
}
.toggle-row .switch::before {
  content: "";
  position: absolute;
  inset: -8px;
}
.info-sheet h2 {
  margin: 4px 0 12px;
  font-size: 20px;
}
.info-sheet h3 {
  margin: 18px 0 8px;
  font-size: 16px;
}
.info-sheet p {
  margin: 0 0 10px;
  line-height: 1.6;
  color: var(--text-2);
  font-size: 15px;
}
.info-sheet p b {
  color: var(--text);
}
.info-list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.info-list li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  background: var(--card-2);
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  font-size: 14px;
  color: var(--text-2);
}
.info-list li b {
  color: var(--text);
  font-size: 14px;
}
.info-now {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--blue-soft);
}
.info-tip {
  font-size: 16px !important;
}

/* ---------- טעות הקלדה במחיר ---------- */
.slip-card {
  border-color: rgba(242, 118, 123, 0.4);
}
.slip-card .info-list {
  margin-top: 12px;
}
.slip-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.slip-actions .btn {
  width: 100%;
  justify-content: center;
}

/* שגיאת טעינה (שומר ב-index.html) */
.boot-err {
  font-size: 13px;
  opacity: 0.7;
  word-break: break-word;
  max-width: 320px;
  margin: 0 auto 16px;
}

/* ---------- המחשבון במק (?widget=1): חלון קטן, בלי לשוניות ---------- */
.widget .app {
  padding-bottom: 84px;
}
.widget .hero {
  display: none;
}
.widget .icon-btn.on {
  color: var(--blue);
  background: var(--blue-soft);
  border-color: transparent;
}
.sig-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 14px;
  border-radius: 12px;
  background: var(--blue-soft);
  color: var(--text);
  font-size: 14px;
}
.sig-banner svg {
  width: 18px;
  height: 18px;
  color: var(--blue);
  flex: none;
}
.sig-banner span {
  flex: 1;
}
.link-btn {
  color: var(--blue);
  font-weight: 600;
  font-size: 14px;
  padding: 4px 6px;
}

/* הפס הקבוע של המחשבון: הכמות לכל חשבון. בטלפון מעל הלשוניות (ומעל המקלדת כשהיא פתוחה: --kb), בחלון במק בתחתית */
.w-strip {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, 560px);
  bottom: max(calc(var(--tabbar-h) + var(--safe-bottom)), var(--kb, 0px));
  z-index: 28;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 6px;
  padding: 8px 10px;
  background: rgba(15, 17, 21, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid var(--line-soft);
}
.widget .w-strip {
  bottom: var(--kb, 0px);
  padding-bottom: calc(8px + var(--safe-bottom));
}
.w-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  min-width: 0;
  padding: 4px 9px 4px 11px;
  border-radius: 12px;
  background: var(--card-2);
  border: 1px solid var(--line-soft);
  color: var(--text);
  transition: transform 0.12s;
}
.w-item:active {
  transform: scale(0.96);
}
.w-val {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.15;
}
.w-item b {
  font-size: 17px;
  font-weight: 700;
}
.w-item small {
  color: var(--muted);
  font-size: 13px;
}
.w-item.bad b {
  color: var(--red);
}
.w-item.warn {
  border-color: rgba(240, 181, 61, 0.55);
}
.w-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 8px;
  color: var(--red);
  font-size: 14px;
  font-weight: 600;
}
.w-note svg {
  width: 17px;
  height: 17px;
}
/* כשהפס מוצג: התוכן וההודעות לא מסתתרים מאחוריו */
html.has-strip .app {
  padding-bottom: calc(var(--tabbar-h) + var(--safe-bottom) + 28px + 58px);
}
html.has-strip .toast {
  bottom: calc(var(--tabbar-h) + var(--safe-bottom) + 14px + 58px);
}
html.widget.has-strip .app {
  padding-bottom: 84px;
}
html.widget.has-strip .toast {
  bottom: 72px;
}
html.kb-open .toast {
  bottom: calc(var(--kb, 0px) + 14px);
}
html.kb-open.has-strip .toast {
  bottom: calc(var(--kb, 0px) + 72px);
}

/* ---------- אופן החלוקה בין היעדים ---------- */
.split-modes .split-head {
  margin-bottom: 10px;
}
.mode-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.mode-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 12px 6px 10px;
  border-radius: 14px;
  background: var(--card-2);
  border: 1px solid var(--line-soft);
  color: var(--text);
}
.mode-btn b {
  font-size: 15px;
}
.mode-btn small {
  color: var(--muted);
  font-size: 13px;
}
.mode-btn.on {
  border-color: var(--blue);
  background: var(--blue-soft);
}
.rec-tag {
  position: absolute;
  top: -9px;
  inset-inline-start: 50%;
  transform: translateX(50%);
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--green, #3ecf8e);
  color: #08110c;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}
.split-why {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-2);
}
.split-why svg {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 2px;
  color: var(--amber, #f5b942);
}
.split-modes .alert {
  margin-top: 10px;
}

/* ---------- כמה כסף בכל חשבון (במחשבון) ---------- */
.bal-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 8px;
  margin: 12px 16px 0;
}
.bal-tile {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px;
  border-radius: 14px;
  background: var(--card);
  border: 1px solid var(--line-soft);
  min-width: 0;
}
.bt-head {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  letter-spacing: -0.2px;
  color: var(--text-2);
  min-width: 0;
}
.bt-head span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: var(--text);
}
.bt-head small {
  font-size: 13px;
  color: var(--muted);
}
.bt-amt {
  font-size: 16px;
  direction: ltr;
  text-align: end;
  white-space: nowrap;
}
.bal-tile small {
  font-size: 13px;
  color: var(--muted);
}
.bal-tile.stale small::after {
  content: " · ישן";
  color: var(--amber);
}

/* המלצה באפור במשבצות החלוקה */
.split-in::placeholder {
  color: var(--muted);
  opacity: 0.85;
}
.split-row.sugg .split-out {
  opacity: 0.55;
}
.split-ok {
  margin: 10px 0 4px;
}

/* ---------- יחס עם הסבר: נקודות מתחת, מעבר עכבר = בועה, לחיצה = הסבר ---------- */
.tip {
  cursor: help;
  text-decoration: underline dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  -webkit-tap-highlight-color: transparent;
}
.tip:focus-visible {
  outline: 2px solid var(--blue);
  border-radius: 4px;
}
.tip-pop {
  position: fixed;
  z-index: 200;
  padding: 9px 11px;
  border-radius: 10px;
  background: #2b3039;
  border: 1px solid var(--line);
  color: var(--text);
  font-size: 13px;
  line-height: 1.5;
  direction: rtl;
  text-align: right;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}
.tip-pop[hidden] {
  display: none;
}
.info-list li b.neg {
  color: var(--red);
}
.info-list li b.pos {
  color: var(--green);
}

/* ---------- חץ רווח/הפסד ליד היתרה ---------- */
.chg {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-inline-start: 8px;
  padding: 2px 7px 2px 5px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  vertical-align: middle;
  white-space: nowrap;
}
.chg svg {
  width: 13px;
  height: 13px;
  stroke-width: 2.6;
}
.chg.pos {
  color: var(--green);
  background: var(--green-soft);
}
.chg.neg {
  color: var(--red);
  background: var(--red-soft);
}
.bal-row-val {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}
.bal-row-val .chg {
  margin: 0;
}
.bal-big .chg {
  font-size: 14px;
  padding: 3px 9px 3px 7px;
}

/* ---------- הרווח היומי ---------- */
.bal-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.daily-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.daily-pill svg {
  width: 15px;
  height: 15px;
}
.daily-pill span:not(.num) {
  font-weight: 500;
  opacity: 0.85;
}
.daily-pill.pos {
  color: var(--green);
  background: var(--green-soft);
}
.daily-pill.neg {
  color: var(--red);
  background: var(--red-soft);
}
.dbars {
  direction: ltr;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 6px;
  height: 120px;
  padding: 6px 4px 24px;
  margin-bottom: 12px;
  border-radius: 14px;
  background: var(--card-2);
}
.dbar {
  position: relative;
  flex: 1;
  max-width: 34px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.dbar i {
  width: 100%;
  border-radius: 6px 6px 2px 2px;
}
.dbar.pos i {
  background: var(--green);
}
.dbar.neg i {
  background: var(--red);
}
.dbar small {
  position: absolute;
  bottom: -19px;
  font-size: 13px;
  color: var(--muted);
}
.info-list li small {
  font-size: 13px;
  color: var(--muted);
}

.bal-top .bal-label {
  white-space: nowrap;
}
.bal-top .daily-pill {
  padding: 6px 10px;
  font-size: 13px;
}

/* ---------- מחשבון: הדבקה, תמונה, ניקוי ---------- */
.calc-quick {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 12px 16px 0;
}
.quick-btn {
  height: 46px;
  min-width: 0;
  padding: 0 8px;
  gap: 7px;
  font-size: 14.5px;
  background: var(--blue-soft);
  border-color: rgba(76, 155, 255, 0.35);
  color: #d6e6ff;
}
.quick-btn span {
  white-space: nowrap;
}
.quick-btn .emo {
  font-size: 17px;
  line-height: 1;
}
.quick-btn:disabled {
  opacity: 0.85;
}
@media (max-width: 359px) {
  .quick-btn {
    font-size: 13px;
    gap: 5px;
    padding: 0 4px;
  }
}
.spinner.sm {
  width: 18px;
  height: 18px;
  border-width: 2px;
  flex: none;
}
.icon-btn.busy {
  animation: busyPulse 0.9s ease-in-out infinite;
}
@keyframes busyPulse {
  50% {
    opacity: 0.35;
  }
}
.field-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.field-top .link-btn {
  position: relative;
  margin: -6px -6px -6px 0;
}
.field-top .link-btn::after {
  content: "";
  position: absolute;
  inset: -8px -10px;
}
.calc-sum {
  margin: 4px 20px 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.calc-sum:empty {
  display: none;
}
.split-note {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #f3cf86;
}
.split-note svg {
  width: 15px;
  height: 15px;
  flex: none;
}
.rule-warn .ico {
  color: var(--amber);
}
.rule-list {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rule-list li {
  position: relative;
  padding-inline-start: 12px;
}
.rule-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.7;
}
.toast.info .ico {
  color: var(--blue);
}
.paste-sheet .input.area {
  min-height: 150px;
}
.pick-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pick-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 100%;
  min-height: 60px;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--card-2);
  border: 1px solid var(--line-soft);
  color: var(--text);
  transition: background 0.15s, transform 0.12s;
}
.pick-row:active {
  transform: scale(0.99);
  background: #262b33;
}
.pick-main {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
}
.pick-main small {
  margin-inline-start: auto;
  font-size: 13px;
  color: var(--muted);
}
.pick-sub {
  font-size: 13.5px;
  color: var(--text-2);
}
/* החלון במק: ארבעה כפתורים בכותרת */
.wbar .top-actions {
  gap: 6px;
}
.wbar .icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}
.wbar .brand {
  gap: 8px;
}

/* ---------- עסקאות: לאיזה יעד הגיעה כל פוזיציה ---------- */
.leg-tag {
  display: inline-block;
  margin-inline-start: 8px;
  padding: 2px 7px;
  border-radius: 6px;
  background: var(--card-2);
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  vertical-align: 1px;
}
.leg-tag.tp {
  background: var(--green-soft);
  color: var(--green);
}
.leg-tag.sl {
  background: var(--red-soft);
  color: var(--red);
}
/* "יעדים: 1 ✓ 2 ✓ 3 ✓ 4 — · השאר בסטופ" לא נחתך: יורד לשורה שנייה (המספר והסימן שלו נשארים יחד, רווח קשיח בתצוגה) */
.trow-exit {
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-2);
  white-space: normal;
  overflow-wrap: break-word;
}
.trow-exit.sl {
  color: var(--red);
}
.trow-exit.tp {
  color: var(--green);
}

/* המחשבון: "עוד נכסים" ובחירת נכס לפי קבוצה (12/11/2026) */
.chips.quick .chip.more {
  grid-column: 1 / -1;
  height: 38px;
  font-size: 14px;
  color: var(--text-2);
}
.catalog-sheet .cat-title {
  margin: 16px 0 8px;
  font-size: 14px;
  color: var(--text-2);
}
.catalog-sheet .chips.wrap .chip {
  padding: 0 12px;
  font-size: 14px;
}

/* ---------- תיקוני ביקורת המסך (12/11/2026) ---------- */
/* אופן החלוקה: כשהחלוקה האמיתית רחוקה מהאחוזים, על הכפתור כתובים הלוטים עצמם ("0.01/0.01/0.01/0"). מותר לשבור אחרי קו נטוי */
.mode-btn .mode-pat {
  max-width: 100%;
  text-align: center;
  line-height: 1.3;
  white-space: normal;
}
.mode-btn .mode-pat.is-lots {
  color: var(--text-2);
}
.mode-note {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 10px 0 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--text-2);
}
.mode-note.muted {
  color: var(--muted);
}
.mode-note svg {
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 2px;
  color: var(--blue);
}
/* "הכמות קטנה מדי ל-4 יעדים": שורה אחת מתחת לשורות החלוקה */
.split-note.starved {
  align-items: flex-start;
  line-height: 1.45;
}
/* אחוז סיכון חריג: אותו כרטיס כמו טעות הקלדה במחיר */
.risk-card .alert {
  line-height: 1.5;
}
/* כפתור ההורדה בדוחות: .btn.block (רוחב מלא) דרס את השוליים, והכפתור יצא 16px מחוץ למסך */
.btn.export-btn {
  display: flex;
  width: calc(100% - 32px);
  margin: 16px 16px 0;
}
/* כפתור ⓘ: העיגול נשאר 30px, אזור הלחיצה 44px */
.info-btn {
  position: relative;
}
.info-btn::after {
  content: "";
  position: absolute;
  inset: -7px;
}
/* יתרות: "מאז ההפקדה" (יתרה פחות הפקדות) ומה שביומן, כל אחד בשמו */
.acc-dep .acc-journal {
  flex-basis: 100%;
  font-size: 13px;
}
/* סקירה: חץ של חשבון בלי הפקדה רשומה הוא לפי העסקאות ביומן */
.chg small {
  margin-inline-start: 5px;
  font-size: 13px;
  font-weight: 500;
  opacity: 0.85;
}

/* ---------- הסטופ של עסקה: איפה הוא עכשיו, מה נעול, וההזזות לפי הסדר ---------- */
.stop-was {
  color: var(--muted);
  text-decoration: line-through;
  text-decoration-color: rgba(255, 255, 255, 0.35);
}
.stop-moves {
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid var(--line-soft);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.stop-moves li {
  position: relative;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  font-size: 14px;
}
.stop-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 3px var(--blue-soft);
}
.stop-moves li.tp .stop-dot {
  background: var(--green);
  box-shadow: 0 0 0 3px var(--green-soft);
}
/* קו שמחבר בין הזזה להזזה */
.stop-moves li + li::before {
  content: "";
  position: absolute;
  inset-inline-start: 4px;
  top: -12px;
  height: 12px;
  width: 1px;
  background: var(--line);
}
.stop-what {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  font-weight: 500;
}
.stop-moves small {
  grid-column: 2;
  font-size: 13px;
  color: var(--muted);
}

/* ---------- מבט רחב על מספר (dive.mjs): לחיצה על כרטיס בסקירה ---------- */
.tap {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.card.stat.tap {
  transition: transform 0.14s var(--ease), border-color 0.15s;
}
.card.stat.tap:active {
  transform: scale(0.975);
  border-color: #3a404a;
}
.dv-hint {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-inline-start: 3px;
  vertical-align: -2px;
  color: var(--dim);
}
button.acc-col {
  border-radius: 10px;
  transition: opacity 0.15s;
}
button.acc-col:active {
  opacity: 0.65;
}
.dv-nw {
  white-space: nowrap;
}

.dive {
  padding-bottom: 4px;
}
.dv-head {
  align-items: start;
  margin-bottom: 12px;
}
.dv-head .dv-eyebrow {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 2px 0 5px;
  font-size: 13px;
  color: var(--muted);
}
.dv-eyebrow .ico {
  width: 14px;
  height: 14px;
}
.dv-chips {
  display: flex;
  gap: 8px;
  margin: 0 -18px 14px;
  padding: 0 18px;
  overflow-x: auto;
  scrollbar-width: none;
}
.dv-chips::-webkit-scrollbar {
  display: none;
}
.dv-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
  height: 40px;
  padding: 0 13px;
  border-radius: 13px;
  background: var(--card);
  border: 1px solid var(--line);
  color: var(--text-2);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.dv-chip.on {
  background: #1c2738;
  border-color: #33507d;
  color: var(--text);
}

.dv-hero {
  padding: 16px 16px 15px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
}
.dv-big {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.dv-what {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted);
}
.dv-facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  margin: 12px 0 0;
  font-size: 14px;
  color: var(--text-2);
}
.dv-split {
  display: flex;
  gap: 3px;
  height: 8px;
  margin-top: 10px;
}
.dv-split i {
  border-radius: 99px;
  min-width: 6px;
}
.dv-split i.pos,
.dv-track i.pos,
.dv-dots i.pos,
.dv-day i.pos,
.dv-day b.pos,
.dv-key.pos {
  background: var(--green);
}
.dv-split i.neg,
.dv-track i.neg,
.dv-dots i.neg,
.dv-day i.neg,
.dv-day b.neg,
.dv-key.neg {
  background: var(--red);
}
.dv-split i.zero,
.dv-track i.zero,
.dv-dots i.zero,
.dv-day b.zero {
  background: #5b6475;
}
.dv-prev {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line-soft);
  font-size: 14px;
  line-height: 1.45;
  color: var(--text-2);
}
.dv-prev .ico {
  width: 18px;
  height: 18px;
  margin-top: 1px;
}
.dv-prev b {
  display: block;
  font-weight: 600;
  color: var(--text);
}
.dv-prev.pos b,
.dv-prev.pos > .ico {
  color: var(--green);
}
.dv-prev.neg b,
.dv-prev.neg > .ico {
  color: var(--red);
}
.dv-prev small {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: var(--muted);
}
.dv-prev small .num {
  color: var(--text-2);
}

/* "בלי X זה היה Y" */
.dv-notes {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.dv-note {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--amber-soft);
  border: 1px solid rgba(240, 181, 61, 0.28);
}
.dv-note.lift {
  background: var(--green-soft);
  border-color: rgba(79, 209, 155, 0.28);
}
.dv-note > .ico {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--amber);
}
.dv-note.lift > .ico {
  color: var(--green);
}
.dv-note p {
  margin: 0;
  min-width: 0;
  font-size: 15px;
  line-height: 1.45;
}
.dv-note b {
  display: block;
  font-weight: 600;
}
.dv-note small {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  color: var(--text-2);
}

.dv-sec {
  margin-top: 24px;
}
.dv-sec h3 {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
}
.dv-sub {
  margin: -4px 0 10px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.dv-seg {
  margin-bottom: 10px;
}
.dv-seg .seg-btn {
  height: 38px;
  font-size: 14px;
}

/* אותו מספר, שורה לכל חשבון / קבוצה / נכס */
.dv-rows {
  display: grid;
  gap: 8px;
}
.dv-row {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 12px 14px;
  background: var(--card);
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  text-align: start;
  transition: background 0.15s, border-color 0.15s;
}
button.dv-row:active {
  background: var(--card-2);
}
.dv-row.on {
  background: #1c2738;
  border-color: #33507d;
}
.dv-row.none > * {
  opacity: 0.6;
}
.dv-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.dv-lbl {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 15px;
}
.dv-lbl b {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dv-lbl .asset {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  font-size: 14px;
}
.dv-lbl .asset .ico {
  width: 15px;
  height: 15px;
}
.dv-val {
  flex: none;
  font-size: 17px;
  font-weight: 700;
}
.dv-row-bar {
  display: block;
}
.dv-track {
  position: relative;
  display: block;
  height: 8px;
  border-radius: 99px;
  background: #232732;
}
.dv-track.tall {
  height: 12px;
}
.dv-track i {
  display: block;
  height: 100%;
  border-radius: 99px;
}
.dv-track.parts {
  display: flex;
  gap: 2px;
  background: transparent;
}
.dv-track.parts i {
  min-width: 4px;
}
/* הקו הלבן: נקודת ההשוואה */
.dv-track s {
  position: absolute;
  top: -4px;
  bottom: -4px;
  inset-inline-start: 0;
  width: 2px;
  margin-inline-start: -1px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 0 2px var(--card);
}
.dv-row.on .dv-track s {
  box-shadow: 0 0 0 2px #1c2738;
}
.dv-meta {
  font-size: 13px;
  color: var(--muted);
}
.dv-cap {
  margin: 10px 0 0;
  line-height: 1.5;
}
.dv-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  padding: 3px;
}
.dv-dots i {
  width: 11px;
  height: 11px;
  flex: none;
  border-radius: 50%;
}
.dv-dots i.run {
  box-shadow: 0 0 0 2px #171a1f, 0 0 0 3.5px rgba(255, 255, 255, 0.55);
}
.dv-row .dv-dots i.run {
  box-shadow: 0 0 0 2px var(--card), 0 0 0 3.5px rgba(255, 255, 255, 0.55);
}
.dv-sec > .dv-dots {
  justify-content: flex-start;
  padding: 14px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line-soft);
}
.dv-sec > .dv-dots i.run {
  box-shadow: 0 0 0 2px var(--card), 0 0 0 3.5px rgba(255, 255, 255, 0.55);
}

/* עמודה לכל יום */
.dv-days {
  padding: 14px 12px 10px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line-soft);
}
.dv-days-plot {
  position: relative;
  display: flex;
  gap: 3px;
  height: 118px;
}
.dv-zero {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--zero, 100%);
  height: 1px;
  background: #3d4350;
}
.dv-day {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 100%;
}
.dv-day i {
  position: absolute;
  left: 0;
  right: 0;
  max-width: 28px;
  margin: 0 auto;
  border-radius: 4px 4px 1px 1px;
  transform-origin: center bottom;
}
.dv-day i.down {
  border-radius: 1px 1px 4px 4px;
  transform-origin: center top;
}
.dv-days.stacked .dv-day i {
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow: hidden;
  background: transparent;
}
.dv-day b {
  display: block;
  min-height: 2px;
}
.dv-days-x {
  display: flex;
  gap: 3px;
  margin-top: 7px;
  height: 18px;
}
.dv-days-x small {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: center;
  font-size: 13px;
  color: var(--dim);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* קו מגמה */
.dv-line {
  padding: 14px 14px 10px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line-soft);
}
.dv-line .chart-axis {
  gap: 8px;
  margin-top: 10px;
}
.dv-line .chart-axis > span[dir="rtl"] {
  text-align: center;
  color: var(--muted);
}
.dv-plot {
  position: relative;
  height: var(--h, 100px);
  margin: 0 6px;
}
.dv-plot svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.dv-path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.dv-path.pos {
  stroke: var(--green);
}
.dv-path.neg {
  stroke: var(--red);
}
.dv-path.base {
  stroke: #6b7486;
  stroke-width: 2;
}
.dv-path.fall {
  stroke-width: 3.5;
}
.dv-area {
  stroke: none;
  opacity: 0.1;
  fill: var(--blue);
}
.dv-area.pos {
  fill: var(--green);
}
.dv-area.neg {
  fill: var(--red);
}
.dv-ref {
  stroke: #8a97ad;
  stroke-width: 1;
  stroke-dasharray: 4 4;
  vector-effect: non-scaling-stroke;
}
.dv-end,
.dv-pt {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}
.dv-end {
  right: 0;
  transform: translate(50%, -50%);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.08);
}
.dv-pt {
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 3px var(--card);
}
.dv-pt.peak {
  color: #fff;
}
.dv-pt.low {
  color: var(--red);
}

.dv-minis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
.dv-minis.two {
  margin: 0 0 8px;
}
.dv-mini {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 11px 13px;
  border-radius: 14px;
  background: var(--card);
  border: 1px solid var(--line-soft);
}
.dv-mini span {
  font-size: 13px;
  color: var(--muted);
}
.dv-mini b {
  font-size: 16.5px;
  font-weight: 700;
}
.dv-mini b small {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}
.info-list.dv-list {
  margin: 0;
}
.info-list.dv-list + .dv-list {
  margin-top: 10px;
}
.dv-list li {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 3px 12px;
  background: var(--card);
}
.dv-list li b {
  font-weight: 600;
  text-align: end;
}
.dv-list li small {
  flex-basis: 100%;
}
.dv-say {
  margin: 10px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--card-2);
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-2);
}
.dv-say.good {
  background: var(--green-soft);
  color: var(--text);
}
.dv-say.bad {
  background: var(--red-soft);
  color: var(--text);
}
.dv-gauge {
  padding: 6px 0 2px;
}
.dv-key {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-inline-end: 6px;
  border-radius: 3px;
}
.dv-key.line {
  width: 2px;
  height: 13px;
  margin-inline: 4px 10px;
  vertical-align: -2px;
  background: #fff;
}

.dv-tlist .trow {
  padding-inline: 14px;
}
.card-link.dv-all {
  width: 100%;
  margin: 8px 0 0;
  min-height: 46px;
  border: 1px solid var(--line-soft);
  border-radius: 14px;
}

/* שאר המספרים של אותה תקופה */
.dv-more {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.dv-more-btn {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: center;
  gap: 3px 6px;
  min-height: 64px;
  padding: 11px 13px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line-soft);
  text-align: start;
  transition: background 0.15s, transform 0.14s var(--ease);
}
.dv-more-btn:active {
  background: var(--card-2);
  transform: scale(0.975);
}
.dv-more-btn > span {
  font-size: 13px;
  color: var(--muted);
}
.dv-more-btn b {
  grid-column: 1;
  font-size: 17px;
  font-weight: 700;
}
.dv-more-btn > .ico {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 16px;
  height: 16px;
  color: var(--dim);
}

@media (prefers-reduced-motion: no-preference) {
  .dive:not(.still) > * {
    animation: dvIn 0.36s var(--ease) both;
  }
  .dive:not(.still) > :nth-child(3) {
    animation-delay: 40ms;
  }
  .dive:not(.still) > :nth-child(4) {
    animation-delay: 80ms;
  }
  .dive:not(.still) > :nth-child(5) {
    animation-delay: 120ms;
  }
  .dive:not(.still) > :nth-child(n + 6) {
    animation-delay: 160ms;
  }
  .dv-grow {
    transform-origin: right center;
    animation: dvGrow 0.5s var(--ease) both;
  }
  .dv-rise {
    animation: dvRise 0.45s var(--ease) both;
  }
}
@keyframes dvIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
@keyframes dvGrow {
  from {
    transform: scaleX(0);
  }
}
@keyframes dvRise {
  from {
    transform: scaleY(0);
  }
}
.dv-axis-cap {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
  color: var(--muted);
}

/* ====================== מעבדת כללים (views/rulelab.mjs) — התחלה ======================
   אותו HTML בטלפון ובמחשב. כאן הבסיס והטלפון (עמודה אחת); הפריסה הרחבה והתלת-ממד ב-desktop.css.
   צבע לכל סט (--c). תנועה: רק transform, opacity וציור קו, ורק למי שלא ביקש פחות תנועה. */
.rl-s-safe {
  --c: #3fd0c0;
}
.rl-s-yours {
  --c: #e8c547;
}
.rl-s-balanced {
  --c: #5b9dff;
}
.rl-s-bold {
  --c: #ff8a3d;
}
.rl-s-custom {
  --c: #b79bff;
}
.rl-s-actual {
  --c: #93a0b6;
}
.rl-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 36px;
  margin: 0 -6px 6px;
  padding: 0 8px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--blue);
}
.rl-back .ico {
  width: 18px;
  height: 18px;
  transform: scaleX(-1);
}
.rl-accs {
  display: flex;
  gap: 8px;
  margin: 12px 0 0;
  padding-inline: 16px;
  overflow-x: auto;
  scrollbar-width: none;
}
.rl-accs::-webkit-scrollbar {
  display: none;
}
.rl-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
  height: 40px;
  padding: 0 14px;
  border-radius: 13px;
  background: var(--card);
  border: 1px solid var(--line);
  color: var(--text-2);
  font-size: 14.5px;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}
.rl-pill.on {
  background: #1c2738;
  border-color: #33507d;
  color: var(--text);
  font-weight: 600;
}
.rl-entry .muted {
  margin-top: 8px;
  font-size: 14.5px;
  line-height: 1.5;
}

/* כמה עסקאות, ומה המספרים לא אומרים */
.rl-strip {
  display: grid;
  gap: 14px;
  margin: 14px 16px 0;
  padding: 16px 18px;
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: var(--card);
}
.rl-strip.few {
  border-color: rgba(240, 181, 61, 0.38);
  background: linear-gradient(180deg, rgba(240, 181, 61, 0.07), transparent 70%), var(--card);
}
.rl-count {
  display: flex;
  align-items: center;
  gap: 12px;
}
.rl-count b {
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.rl-count > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
}
.rl-count small {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}
.rl-strip-text {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.rl-strip-text p {
  display: flex;
  gap: 8px;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--text-2);
}
.rl-strip-text .ico {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 2px;
  color: var(--muted);
}
.rl-few b {
  color: var(--amber);
  font-weight: 600;
}
.rl-few .ico {
  color: var(--amber);
}
.rl-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rl-facts > span {
  padding: 5px 10px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.05);
  font-size: 13px;
  color: var(--text-2);
  white-space: nowrap;
}

/* הגרף */
.rl-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rl-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 11px;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 13.5px;
  color: var(--text-2);
  white-space: nowrap;
  transition: opacity 0.18s, background 0.18s, transform 0.12s;
}
.rl-chip i,
.rl-from-b i,
.rl-card h3 i,
.rl-win b i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c);
  flex: none;
}
.rl-chip.rl-s-actual i {
  width: 14px;
  height: 0;
  border-radius: 0;
  background: none;
  border-top: 2px dashed var(--c);
}
.rl-chip b {
  font-weight: 600;
  color: var(--text);
  min-width: 52px;
  text-align: end;
}
.rl-chip.off {
  opacity: 0.42;
}
.rl-chip.off span {
  text-decoration: line-through;
}
.rl-read {
  margin-top: 10px;
  min-height: 21px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.rl-read.on {
  color: var(--text);
}
.rl-chart {
  position: relative;
  height: 250px;
  margin-top: 4px;
  touch-action: pan-y;
  cursor: crosshair;
}
.rl-svg {
  display: block;
  overflow: visible;
}
.rl-gl {
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 1;
}
.rl-zero {
  stroke: rgba(255, 255, 255, 0.26);
  stroke-width: 1;
}
.rl-tick {
  font-size: 13px;
  fill: var(--muted);
  font-variant-numeric: tabular-nums;
}
.rl-ser {
  transition: opacity 0.18s;
}
.rl-line {
  stroke: var(--c);
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.rl-s-yours .rl-line {
  stroke-width: 3;
}
.rl-line.dashed {
  stroke-width: 1.6;
  stroke-dasharray: 5 5;
  opacity: 0.85;
}
.rl-end {
  fill: var(--c);
  stroke: var(--card);
  stroke-width: 2;
}
.rl-x-l {
  stroke: rgba(255, 255, 255, 0.42);
  stroke-width: 1;
}
.rl-x-d {
  fill: var(--c);
  stroke: var(--card);
  stroke-width: 2;
}
.rl-cross {
  opacity: 0;
  pointer-events: none;
}
.has-cross .rl-cross {
  opacity: 1;
}
.has-cross .rl-end {
  opacity: 0.3;
}
.rl-cap {
  margin-top: 10px;
  line-height: 1.5;
}
/* עומדים על כרטיס או על סיכה: הקו של אותו סט בולט, השאר נסוגים */
.rl-body[data-hi]:not([data-hi=""]) .rl-ser {
  opacity: 0.2;
}
.rl-body[data-hi="safe"] .rl-ser.rl-s-safe,
.rl-body[data-hi="yours"] .rl-ser.rl-s-yours,
.rl-body[data-hi="balanced"] .rl-ser.rl-s-balanced,
.rl-body[data-hi="bold"] .rl-ser.rl-s-bold,
.rl-body[data-hi="custom"] .rl-ser.rl-s-custom {
  opacity: 1;
}

/* השורה התחתונה */
.rl-wins {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.rl-win {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 2px 0 var(--c);
  min-width: 0;
}
.rl-win .k,
.rl-win .s {
  font-size: 13px;
  color: var(--muted);
}
.rl-win b {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 15.5px;
  font-weight: 600;
}
.rl-win .v {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
}
.rl-lines {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.rl-lines li {
  display: flex;
  gap: 10px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-2);
}
.rl-lines .ico {
  width: 19px;
  height: 19px;
  flex: none;
  margin-top: 2px;
  color: var(--muted);
}
.rl-lines .rl-l-lose,
.rl-lines .rl-l-best {
  color: var(--text);
  font-weight: 500;
}
.rl-lines .rl-l-lose .ico,
.rl-lines .rl-l-streak .ico {
  color: var(--amber);
}

/* סיכון מול צמיחה. בטלפון: שטוח. במחשב: במה נטויה עם סיכות (desktop.css) */
.rl-scene {
  position: relative;
  height: 300px;
  margin-top: 4px;
}
.rl-plane {
  position: relative;
  --rx: 0deg;
  --ry: 0deg;
  --lift: 0px;
}
.rl-floor {
  fill: rgba(255, 255, 255, 0.022);
  stroke: rgba(255, 255, 255, 0.07);
}
.rl-ladder {
  stroke: #c9d3e6;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.38;
}
.rl-shadow {
  display: none;
}
.rl-ax {
  position: absolute;
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
  pointer-events: none;
}
.rl-ax-x {
  left: 60px;
  right: 30px;
  bottom: 0;
  text-align: center;
}
.rl-ax-y {
  left: 60px;
  top: 6px;
}
.rl-corner {
  position: absolute;
  font-size: 13px;
  color: var(--green);
  opacity: 0.55;
  pointer-events: none;
}
.rl-pin {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  transform: translate(var(--x), var(--y));
}
/* קופסה אמיתית (לא ברוחב אפס), כדי שהדפדפן יסדר אותה נכון בעומק מעל המשטח. הסיכה במרכז התחתית שלה */
.rl-pin-b {
  position: absolute;
  left: -130px;
  bottom: 0;
  width: 260px;
  height: calc(var(--lift) + 74px);
  display: block;
  pointer-events: none;
}
.rl-stem {
  position: absolute;
  left: 129px;
  bottom: 0;
  width: 2px;
  height: var(--lift);
  background: linear-gradient(180deg, var(--c), rgba(255, 255, 255, 0.05));
  border-radius: 2px;
}
.rl-ball {
  position: absolute;
  left: 120px;
  top: 64px;
  pointer-events: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, rgba(255, 255, 255, 0.85), var(--c) 46%, color-mix(in srgb, var(--c) 55%, #000) 100%);
  box-shadow: 0 0 0 2px var(--card), 0 0 18px color-mix(in srgb, var(--c) 55%, transparent);
  transition: transform 0.18s var(--ease);
}
.rl-pin-l {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: none;
  flex-direction: column;
  align-items: center;
  padding: 3px 8px;
  border-radius: 9px;
  background: rgba(13, 18, 28, 0.86);
  font-size: 13px;
  line-height: 1.3;
  white-space: nowrap;
  direction: rtl;
  pointer-events: none;
}
.rl-pin-l b {
  font-weight: 600;
  color: var(--c);
}
.rl-pin-l .num {
  color: var(--text-2);
}
/* סיכות צמודות: בטלפון התווית של השנייה יורדת מתחת לנקודה. במחשב היא עומדת על רגל גבוהה יותר (desktop.css) */
.rl-pin.lvl-1 .rl-pin-l {
  top: 88px;
}
/* בטלפון השמות לא נכנסים ליד הנקודות: רשימה מתחת לגרף */
.rl-scene-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.rl-scene-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-2);
}
.rl-scene-list i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--c);
  flex: none;
}
.rl-scene-list b {
  font-weight: 600;
  color: var(--text);
  margin-inline-end: auto;
}
.rl-scene-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 10px;
  font-size: 13px;
  color: var(--text-2);
}
.rl-scene-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.rl-scene-legend .sw {
  width: 18px;
  flex: none;
}
.rl-scene-legend .sw.line {
  height: 2px;
  background: #c9d3e6;
  opacity: 0.5;
}

/* כרטיס לכל סט */
.rl-h2 {
  margin-top: 26px;
}
.rl-card {
  display: flex;
  flex-direction: column;
  box-shadow: inset 0 3px 0 var(--c);
}
.rl-card-h {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.rl-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}
.rl-card-sub {
  margin-top: 3px;
  font-size: 13px;
  color: var(--muted);
}
.rl-tags {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex: none;
}
.rl-tags span {
  padding: 3px 9px;
  border-radius: 99px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--c);
  background: color-mix(in srgb, var(--c) 14%, transparent);
}
.rl-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 12px;
}
.rl-rules > span {
  padding: 4px 9px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.05);
  font-size: 13px;
  color: var(--text-2);
}
.rl-big {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 16px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.rl-big small {
  font-size: 15px;
  font-weight: 600;
}
.rl-big-k {
  margin-top: 4px;
  font-size: 13px;
  color: var(--muted);
}
.rl-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.rl-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rl-row .k,
.rl-row .s,
.rl-boot .k {
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted);
}
.rl-row .v {
  font-size: 18px;
  font-weight: 600;
}
.rl-row .v small {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}
.rl-more {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--line-soft);
}
.rl-more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 36px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--blue);
  cursor: pointer;
  list-style: none;
}
.rl-more summary::-webkit-details-marker {
  display: none;
}
.rl-more summary .ico {
  width: 18px;
  height: 18px;
  transition: transform 0.2s var(--ease);
}
.rl-more[open] summary .ico {
  transform: rotate(-90deg);
}
.rl-boot {
  margin-top: 6px;
}
.rl-dd3-k {
  margin-top: 10px;
}
.rl-range-bar {
  position: relative;
  height: 10px;
  margin: 10px 0 8px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.06);
}
.rl-range-bar i {
  position: absolute;
  top: 0;
  bottom: 0;
}
.rl-range-bar .band {
  border-radius: 99px;
  background: var(--c);
  opacity: 0.55;
  min-width: 4px;
}
.rl-range-bar .mid {
  top: -4px;
  bottom: -4px;
  width: 3px;
  margin-left: -1.5px;
  border-radius: 2px;
  background: #fff;
}
.rl-range-bar .zero {
  top: -3px;
  bottom: -3px;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
}
.rl-boot-t {
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--text-2);
}
.rl-dd3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}
.rl-dd3 div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 9px;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.04);
  min-width: 0;
}
.rl-dd3 div > span {
  font-size: 13px;
  line-height: 1.3;
  color: var(--muted);
}
.rl-dd3 b {
  font-size: 16px;
  font-weight: 600;
}
.rl-dd3 .warm b {
  color: var(--amber);
}
.rl-dd3 .hot {
  background: var(--red-soft);
}
.rl-dd3 .hot b {
  color: var(--red);
}
.rl-notes {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.rl-notes li {
  padding-inline-start: 12px;
  position: relative;
}
.rl-notes li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--dim);
}
.rl-card-foot {
  margin-top: auto;
  padding-top: 16px;
}
.rl-adopt-btn {
  width: 100%;
  height: 46px;
  padding: 0 10px;
  font-size: 15px;
  white-space: nowrap;
  border-color: color-mix(in srgb, var(--c) 45%, transparent);
  background: color-mix(in srgb, var(--c) 12%, #1c212b);
}
.rl-now {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 46px;
  font-size: 13.5px;
  color: var(--muted);
  text-align: center;
}
.rl-now .ico {
  width: 17px;
  height: 17px;
  color: var(--c);
}

/* בונים סט משלך */
.rl-from {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: var(--muted);
}
.rl-from-b {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 13.5px;
  color: var(--text-2);
  transition: transform 0.12s;
}
.rl-from-b:active,
.rl-chip:active,
.rl-opt:active,
.rl-stepper button:active {
  transform: scale(0.96);
}
.rl-ctl {
  margin-top: 16px;
}
.rl-ctl-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.rl-ctl-k {
  font-size: 15px;
  font-weight: 600;
  margin-inline-end: auto;
}
.rl-stepper {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 12px;
  background: #1d2027;
  border: 1px solid var(--line-soft);
}
.rl-stepper button {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  font-size: 20px;
  line-height: 1;
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
  transition: transform 0.12s, background 0.15s;
}
.rl-stepper button:disabled {
  opacity: 0.35;
}
.rl-stepper output {
  min-width: 58px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--c);
}
.rl-ctl.off .rl-stepper output {
  color: var(--muted);
  font-weight: 500;
  direction: rtl;
}
.switch.sm {
  width: 42px;
  height: 26px;
}
.switch.sm i {
  width: 20px;
  height: 20px;
}
.switch.sm.on i {
  transform: translateX(-16px);
}
.rl-range {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 34px;
  margin: 4px 0 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  touch-action: pan-y;
}
.rl-range::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--c) var(--p, 0%), #2a3040 var(--p, 0%));
}
.rl-range::-moz-range-track {
  height: 6px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--c) var(--p, 0%), #2a3040 var(--p, 0%));
}
.rl-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  margin-top: -9px;
  border-radius: 50%;
  background: #fff;
  border: 4px solid var(--c);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}
.rl-range::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 4px solid var(--c);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}
.rl-range:focus-visible {
  outline: 2px solid var(--c);
  outline-offset: 2px;
  border-radius: 8px;
}
.rl-range:disabled {
  opacity: 0.3;
  cursor: default;
}
.rl-ctl-hint {
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}
.rl-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
  text-align: start;
}
.rl-toggle > span:first-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rl-toggle b {
  font-size: 15px;
  font-weight: 600;
}
.rl-toggle small {
  font-size: 13px;
  color: var(--muted);
}
.rl-manage-k {
  display: block;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line-soft);
}
.rl-manage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}
.rl-opt {
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 13.5px;
  line-height: 1.3;
  color: var(--text-2);
  transition: transform 0.12s, background 0.15s, border-color 0.15s;
}
.rl-opt.on {
  background: color-mix(in srgb, var(--c) 16%, transparent);
  border-color: color-mix(in srgb, var(--c) 55%, transparent);
  color: var(--text);
  font-weight: 600;
}
.rl-manage-note {
  margin-top: 8px;
}
.rl-mini {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 16px;
}
.rl-mini-n {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 10px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--c) 9%, transparent);
  min-width: 0;
}
.rl-mini-n span {
  font-size: 13px;
  line-height: 1.3;
  color: var(--muted);
}
.rl-mini-n b {
  font-size: 18px;
  font-weight: 700;
}

/* איך זה מחושב */
.rl-how summary {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.rl-how summary::-webkit-details-marker {
  display: none;
}
.rl-how summary .ico {
  width: 20px;
  height: 20px;
  color: var(--muted);
}
.rl-how .rl-how-arrow {
  margin-inline-start: auto;
  transition: transform 0.2s var(--ease);
}
.rl-how[open] .rl-how-arrow {
  transform: rotate(-90deg);
}
.rl-how ul {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}
.rl-how li {
  display: grid;
  gap: 3px;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--text-2);
}
.rl-how li b {
  color: var(--text);
  font-weight: 600;
}

/* אימוץ של סט (גיליון אישור) */
.rl-adopt-t {
  width: 100%;
  margin-top: 16px;
  border-collapse: collapse;
  font-size: 15px;
}
.rl-adopt-t th {
  padding: 0 0 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  text-align: start;
}
.rl-adopt-t td {
  padding: 12px 0;
  border-top: 1px solid var(--line-soft);
  vertical-align: middle;
}
.rl-adopt-t td:first-child {
  color: var(--text-2);
}
.rl-adopt-t .arrow .ico {
  width: 16px;
  height: 16px;
  color: var(--dim);
  display: block;
}
.rl-adopt-t tr.ch td b {
  font-size: 18px;
  color: var(--c);
}
.rl-adopt-t tr:not(.ch) td b {
  font-weight: 500;
  color: var(--text-2);
}
.rl-adopt-x,
.rl-adopt-demo {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.rl-adopt-x .ico,
.rl-adopt-demo .ico {
  width: 17px;
  height: 17px;
  flex: none;
  margin-top: 2px;
}
.rl-adopt-demo {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--amber-soft);
  color: var(--amber);
}
.rl-adopt .btn-row {
  margin-top: 18px;
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes rlDraw {
    to {
      stroke-dashoffset: 0;
    }
  }
  @keyframes rlFade {
    from {
      opacity: 0;
    }
  }
  @keyframes rlRise {
    from {
      opacity: 0;
      transform: translateY(14px);
    }
  }
  @keyframes rlPop {
    from {
      opacity: 0;
      transform: scale(0.4);
    }
  }
  .rl-anim .rl-draw {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    animation: rlDraw 1.15s cubic-bezier(0.65, 0, 0.35, 1) forwards;
    animation-delay: calc(var(--k, 0) * 110ms + 220ms);
  }
  .rl-anim .rl-end {
    animation: rlFade 0.5s ease-out backwards;
    animation-delay: calc(var(--k, 0) * 110ms + 1150ms);
  }
  .rl-anim .rl-line.dashed {
    animation: rlFade 0.6s ease-out 150ms backwards;
  }
  .rl-anim .rl-strip,
  .rl-anim .rl-grid > *,
  .rl-anim .rl-cards > * {
    animation: rlRise 0.5s cubic-bezier(0.23, 1, 0.32, 1) backwards;
  }
  .rl-anim .rl-grid > :nth-child(2),
  .rl-anim .rl-cards > :nth-child(2) {
    animation-delay: 60ms;
  }
  .rl-anim .rl-grid > :nth-child(3),
  .rl-anim .rl-cards > :nth-child(3) {
    animation-delay: 120ms;
  }
  .rl-anim .rl-grid > :nth-child(4),
  .rl-anim .rl-cards > :nth-child(4) {
    animation-delay: 180ms;
  }
  .rl-anim .rl-cards > :nth-child(5) {
    animation-delay: 240ms;
  }
  .rl-anim .rl-ball {
    animation: rlPop 0.45s cubic-bezier(0.23, 1, 0.32, 1) backwards;
    animation-delay: calc(var(--k, 0) * 90ms + 500ms);
  }
  .rl-anim .rl-pin-l {
    animation: rlFade 0.4s ease-out backwards;
    animation-delay: calc(var(--k, 0) * 90ms + 750ms);
  }
}
/* ====================== מעבדת כללים — סוף ====================== */

/* ====================== הכרטיס "היום" בראש הסקירה (14/11/2026) ======================
   רק בטלפון. המספרים בצבע הטקסט הרגיל (‎--text) והתוויות ב-‎--text-2: ‎--dim חלש מדי על רקע הכרטיס. לא פחות מ-13px */
.card.today {
  padding: 16px;
}
.card.today[data-light="yellow"] {
  border-color: rgba(240, 169, 42, 0.42);
}
.card.today[data-light="red"] {
  border-color: rgba(239, 91, 82, 0.5);
}
.td-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.td-light {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
  min-height: 34px;
  padding: 4px 9px 4px 13px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--text-2);
  background: rgba(138, 151, 173, 0.14);
}
.td-light i {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  color: #10131a;
  background: var(--adm-unknown);
}
.td-light.green {
  color: var(--adm-ok);
  background: var(--adm-ok-bg);
}
.td-light.green i {
  background: var(--adm-ok);
}
.td-light.yellow {
  color: var(--adm-warn);
  background: var(--adm-warn-bg);
}
.td-light.yellow i {
  background: var(--adm-warn);
}
.td-light.red {
  color: var(--adm-bad);
  background: var(--adm-bad-bg);
}
.td-light.red i {
  background: var(--adm-bad);
}
.td-k {
  font-size: 13.5px;
  color: var(--text-2);
}
.td-result {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.td-big {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--text);
}
.td-big .zero {
  color: var(--text);
}
.td-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}
.td-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 11px 12px;
  border-radius: 14px;
  background: var(--card-2);
}
.td-v {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
}
.td-s {
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-2);
}
.td-left-title {
  margin-top: 14px;
}
.td-left li {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 0;
  border-top: 1px solid var(--line-soft);
}
.td-left li:first-child {
  border-top: 0;
  padding-top: 7px;
}
.td-name {
  flex: 1;
  min-width: 0;
  font-size: 15px;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.td-left b {
  flex: none;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}
.td-left b.td-na {
  font-size: 14px;
  font-weight: 500;
  color: var(--amber);
}
.td-why {
  margin-top: 4px;
  padding-top: 11px;
  border-top: 1px solid var(--line-soft);
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-2);
}

/* העקומה בדולרים או ב-R (14/11/2026) */
.curve-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.curve-head .label {
  min-width: 0;
  line-height: 1.4;
}
.curve-seg {
  flex: none;
  width: 146px;
}
.curve-seg .seg-btn {
  font-size: 14px;
}
[data-curve] .chart-axis {
  color: var(--muted);
}
.curve-sum {
  margin-top: 10px;
  font-size: 14px;
  color: var(--text-2);
}
.curve-sum b {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}
.curve-note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--muted);
}
.curve-gap {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--amber-soft);
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
}
/* מדגם קטן: מה שרואים הוא כיוון לבדוק, לא מסקנה */
.sample-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 14px;
  padding: 9px 12px;
  border-radius: 12px;
  background: var(--amber-soft);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--amber);
}
.sample-note .ico {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
}
.sample-note .num {
  color: inherit;
}
.pt-note {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

/* ====================== המסך החי בטלפון (14/11/2026) ======================
   רשת נקודות בגרפים, קו שמצייר את עצמו, גרירת אצבע, עומק בכרטיסים, צבע לפי התוצאה, תגיות ולוח ימים.
   הכל לטלפון: מה שיכול לגעת בתצוגה של המחשב מסויג ב-html:not(.desk). אנימציות רק ב-transform וב-opacity
   (חוץ מציור הקו, פעם אחת), ורק כשהמכשיר לא ביקש "פחות תנועה". טקסט לא קטן מ-13px ולא בצבע ‎--dim */

/* ---------- רשת הנקודות ---------- */
.cg-dots {
  fill: none;
  stroke: rgba(154, 163, 178, 0.13);
  stroke-width: 1.8;
  stroke-linecap: round;
}
.cg-dots.strong {
  stroke: rgba(154, 163, 178, 0.24);
}
.cg-dots.zero {
  stroke: rgba(154, 163, 178, 0.2);
  stroke-width: 1.5;
}
.cg-plot {
  position: relative;
  /* גלילה למעלה ולמטה נשארת של הדף. תנועה לצדדים מגיעה אלינו (fx.mjs) */
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.cg-ticks {
  position: relative;
  height: 18px;
  margin-top: 4px;
  font-size: 13px;
  line-height: 18px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.cg-ticks span {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
}
.cg-ticks .strong {
  color: var(--text-2);
}
.cg .chart-axis {
  justify-content: center;
  margin-top: 4px;
  color: var(--muted);
}

/* ---------- העקומה: זוהר, נקודה פועמת, ציור ---------- */
.eq-glow {
  fill: none;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.17;
  transform: translateY(2px);
}
.eq-glow.wide {
  stroke-width: 13;
  opacity: 0.08;
  transform: translateY(4px);
}
.eq-glow.pos {
  stroke: var(--green);
}
.eq-glow.neg {
  stroke: var(--red);
}
.eq-glow.zero {
  stroke: var(--text-2);
}
.cg-pulse {
  position: absolute;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border-radius: 50%;
  opacity: 0.2;
  pointer-events: none;
}
.cg-pulse.pos,
.cg-mark.pos {
  background: var(--green);
}
.cg-pulse.neg,
.cg-mark.neg {
  background: var(--red);
}
.cg-pulse.zero,
.cg-mark.zero {
  background: var(--text-2);
}
.cg-bar.pos {
  fill: var(--green);
}
.cg-bar.neg {
  fill: var(--red);
}
.cg-bar.zero {
  fill: var(--text-2);
}
/* לפני שהגרף נכנס למסך בפעם הראשונה: הנתונים מוסתרים, הרשת כבר שם (fx.mjs מוסיף pre רק כשמותרת תנועה) */
.cg.pre .eq-line,
.cg.pre .cg-fill,
.cg.pre .eq-dot,
.cg.pre .cg-pulse,
.cg.pre .cg-bar {
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .cg-pulse {
    animation: cgPulse 2.8s ease-in-out infinite;
  }
  .cg.go .eq-line {
    stroke-dasharray: 1;
    animation: cgDraw 0.7s cubic-bezier(0.22, 0.8, 0.3, 1) both;
  }
  .cg.go .cg-fill {
    animation: cgIn 0.5s ease-out 0.4s backwards;
  }
  .cg.go .eq-dot {
    animation: cgIn 0.25s ease-out 0.62s backwards;
  }
  .cg.go .cg-pulse {
    animation:
      cgIn 0.3s ease-out 0.62s backwards,
      cgPulse 2.8s ease-in-out 0.92s infinite;
  }
  .cg.go .cg-bar {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation: cgRise 0.45s var(--ease) calc(var(--k, 0) * 28ms) backwards;
  }
  .cg.go .cg-bar.neg {
    transform-origin: 50% 0;
  }
}
@keyframes cgPulse {
  0%,
  100% {
    transform: scale(0.7);
    opacity: 0.26;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.1;
  }
}
@keyframes cgDraw {
  from {
    stroke-dashoffset: 1;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes cgIn {
  from {
    opacity: 0;
  }
}
@keyframes cgRise {
  from {
    transform: scaleY(0);
  }
}

/* ---------- גרירת אצבע: קו דק, נקודה ובועה ---------- */
.cg-guide,
.cg-mark,
.cg-tip {
  position: absolute;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease-out;
  will-change: transform;
}
.cg-guide {
  top: 0;
  bottom: 0;
  width: 1px;
  margin-left: -0.5px;
  background: rgba(255, 255, 255, 0.3);
}
.cg-mark {
  top: 0;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  border-radius: 50%;
  border: 2px solid var(--card);
}
.cg-tip {
  bottom: calc(100% + 2px);
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 6px 11px;
  border-radius: 11px;
  background: #242f48;
  border: 1px solid var(--adm-border-strong);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 8px 18px rgba(0, 0, 0, 0.45);
  font-size: 15px;
  line-height: 1.3;
  white-space: nowrap;
  z-index: 3;
}
.cg-tip b {
  font-weight: 700;
}
.cg-tip b.zero {
  color: var(--text);
}
.cg-tip span {
  font-size: 13px;
  color: var(--text-2);
}
.cg-plot.scrub .cg-guide,
.cg-plot.scrub .cg-mark,
.cg-plot.scrub .cg-tip {
  opacity: 1;
}

/* מקום לבועה מעל העקומה, כדי שלא תכסה את הכותרת ואת הבורר */
[data-curve] .cg {
  margin-top: 30px;
}
/* העמודות היומיות בגיליון "הרווח היומי" */
.dbars-box {
  margin-bottom: 12px;
  padding: 34px 10px 8px;
  border-radius: 14px;
  background: var(--card-2);
}
.dbars-box .chart {
  margin-top: 0;
}
.dbars-box .cg-mark {
  border-color: var(--card-2);
}
.info-sheet .cg-how {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  color: var(--muted);
}

/* ---------- עומק: קצה עליון בהיר, צל רך בשתי שכבות ---------- */
html:not(.desk):not(.widget) .card,
html:not(.desk):not(.widget) .tlist:not(.flush) {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    0 1px 2px rgba(0, 0, 0, 0.3),
    0 14px 28px -16px rgba(0, 0, 0, 0.65);
}
/* הכרטיס "היום" וכרטיס התוצאות: משטח עם מעבר צבע עדין, וגוון קל מאוד לפי התוצאה */
html:not(.desk) .card.today,
html:not(.desk) .card.results {
  background: linear-gradient(180deg, #18223a 0%, var(--card) 64%);
}
html:not(.desk) .card.today[data-tone="pos"],
html:not(.desk) .card.results[data-tone="pos"] {
  background:
    radial-gradient(90% 60% at 18% 0%, rgba(79, 209, 155, 0.085), transparent 70%),
    linear-gradient(180deg, #18223a 0%, var(--card) 64%);
}
html:not(.desk) .card.today[data-tone="neg"],
html:not(.desk) .card.results[data-tone="neg"] {
  background:
    radial-gradient(90% 60% at 18% 0%, rgba(242, 118, 123, 0.085), transparent 70%),
    linear-gradient(180deg, #18223a 0%, var(--card) 64%);
}

/* ---------- צבע: זוהר רך מאחורי ראש הסקירה, לפי התוצאה של היום ---------- */
html:not(.desk) #view-overview {
  position: relative;
  isolation: isolate;
}
.ov-glow {
  position: absolute;
  z-index: -1;
  top: -150px;
  left: 0;
  right: 0;
  height: 560px;
  pointer-events: none;
}
.ov-glow.pos {
  background: radial-gradient(70% 55% at 50% 32%, rgba(79, 209, 155, 0.055), transparent 72%);
}
.ov-glow.neg {
  background: radial-gradient(70% 55% at 50% 32%, rgba(242, 118, 123, 0.055), transparent 72%);
}

/* טבעת סביב אות החשבון ב"נשאר להפסיד היום": כמה מהגבול היומי תפוס */
.td-ring {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 38px;
  height: 38px;
}
.td-ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.td-ring circle {
  fill: none;
  stroke-width: 3;
}
.td-ring .trk {
  stroke: rgba(255, 255, 255, 0.09);
}
.td-ring .arc {
  stroke: var(--adm-unknown);
  stroke-linecap: round;
}
.td-ring.green .arc {
  stroke: var(--adm-ok);
}
.td-ring.yellow .arc {
  stroke: var(--adm-warn);
}
.td-ring.red .arc {
  stroke: var(--adm-bad);
}
.td-ring .badge {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.td-left .td-name {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.td-name > span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.td-name small {
  font-size: 13px;
  line-height: 1.35;
  color: var(--text-2);
}

/* ---------- תגיות "הכי טוב" / "הכי חלש" ---------- */
.hl {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 5px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  white-space: nowrap;
}
.hl::before {
  content: "";
  width: 0;
  height: 0;
  border-inline: 4px solid transparent;
}
.hl.best {
  color: var(--green);
  background: var(--green-soft);
}
.hl.best::before {
  border-bottom: 6px solid currentColor;
}
.hl.worst {
  color: var(--red);
  background: var(--red-soft);
}
.hl.worst::before {
  border-top: 6px solid currentColor;
}
.daily td .hl {
  margin-inline-start: 8px;
  vertical-align: 1px;
}

/* ---------- לוח הימים בדוחות ---------- */
.cal-mode {
  flex: none;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-2);
}
.cal-mode:active {
  background: var(--card-2);
}
.cal-head,
.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.cal-head {
  margin: 14px 0 6px;
  font-size: 13px;
  text-align: center;
  color: var(--muted);
}
.cal-c {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  min-width: 0;
  min-height: 46px;
  padding: 0;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.035);
}
.cal-c small {
  font-size: 13px;
  line-height: 1.2;
  color: var(--muted);
}
.cal-c b {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--text);
}
.cal-c.pos {
  background: rgba(79, 209, 155, calc(0.1 + var(--a, 0) * 0.3));
}
.cal-c.neg {
  background: rgba(242, 118, 123, calc(0.1 + var(--a, 0) * 0.3));
}
.cal-c.pos small,
.cal-c.neg small {
  color: var(--text-2);
}
.cal-c.zero {
  background: rgba(255, 255, 255, 0.09);
}
.cal-c.future {
  opacity: 0.4;
}
.cal-c.today {
  box-shadow: inset 0 0 0 1.5px var(--text);
}
button.cal-c {
  transition: transform 0.15s var(--ease);
}
button.cal-c:active {
  transform: scale(0.93);
}
/* משולש קטן בפינה: למעלה = היום הכי טוב בתקופה, למטה = הכי חלש */
.cal-pip {
  position: absolute;
  top: 5px;
  inset-inline-end: 5px;
  width: 0;
  height: 0;
  border-inline: 3.5px solid transparent;
}
.mk-best .cal-pip {
  border-bottom: 5px solid var(--text);
}
.mk-worst .cal-pip {
  border-top: 5px solid var(--text);
}
.cal-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-top: 12px;
  font-size: 13.5px;
  color: var(--text-2);
}
.cal-legend .sw {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-inline-end: 6px;
  border-radius: 3px;
}
.cal-legend .sw.pos {
  background: var(--green);
}
.cal-legend .sw.neg {
  background: var(--red);
}
.cal-legend .end {
  margin-inline-start: auto;
}
.cal-picks {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.cal-pick {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  padding: 6px 12px;
  border-radius: 13px;
  background: var(--card-2);
  font-size: 14.5px;
  text-align: start;
}
.cal-pick > span:nth-child(2) {
  flex: 1;
  min-width: 0;
  color: var(--text);
}
.cal-pick > .num {
  font-weight: 700;
}
.cal-pick:active {
  background: var(--adm-surface-3);
}
.cal-picks-title {
  margin-top: 16px;
}
.cal-picks-title + .cal-picks {
  margin-top: 8px;
}
.cal-cap {
  margin-top: 12px;
  line-height: 1.5;
}
.day-sheet .result-big {
  margin-bottom: 4px;
}
.day-sheet .day-tlist {
  margin-bottom: 6px;
}
.day-sheet .day-tlist .trow {
  padding-inline: 12px;
}
/* ====================== המסך החי בטלפון — סוף ====================== */

/* ==========================================================================
   דפוסים (views/patterns.mjs) — כל הכללים של המסך הזה בבלוק הזה בלבד
   ========================================================================== */
.pl {
  --pl-up: #1fb5a0; /* רווח: ירוק-כחלחל */
  --pl-dn: #ee6a4f; /* הפסד: כתום-אדום. שני הצבעים נבדלים גם למי שמתקשה בין אדום לירוק, ובכל תא יש גם סימן ומספר */
  --pl-seq: #4c9bff;
  --pl-cell: #1a2132;
}
.pl-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 12px 16px 0;
  min-height: 44px;
  padding: 0 12px 0 14px;
  border-radius: 12px;
  font: inherit;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-2);
  background: var(--card);
  border: 1px solid var(--line);
}
.pl-back .ico {
  width: 16px;
  height: 16px;
  transform: scaleX(-1);
}
.pl-entry {
  display: flex;
  align-items: center;
  gap: 12px;
  width: calc(100% - 32px);
  margin: 14px 16px 0;
  padding: 14px 16px;
  min-height: 64px;
  border-radius: var(--r-card);
  font: inherit;
  text-align: start;
  color: var(--text);
  background: linear-gradient(135deg, rgba(76, 155, 255, 0.16), rgba(31, 181, 160, 0.1)), var(--card);
  border: 1px solid rgba(76, 155, 255, 0.34);
  transition: transform 0.15s var(--ease);
}
.pl-entry:active {
  transform: scale(0.98);
}
.pl-entry > .ico:first-child {
  width: 26px;
  height: 26px;
  flex: none;
  color: var(--blue);
}
.pl-entry > .ico:last-child {
  width: 18px;
  height: 18px;
  flex: none;
  color: var(--muted);
}
.pl-entry span {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 2px;
}
.pl-entry b {
  font-size: 16.5px;
}
.pl-entry small {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--text-2);
}
.pl-period .seg-btn {
  padding-inline: 2px;
}

/* --- שורת היושר --- */
.pl-honest {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin: 12px 16px 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--blue-soft);
  border: 1px solid rgba(76, 155, 255, 0.26);
  color: var(--text-2);
  font-size: 14px;
  line-height: 1.55;
}
.pl-honest.thin {
  background: var(--amber-soft);
  border-color: rgba(240, 181, 61, 0.36);
}
.pl-honest > .ico {
  width: 20px;
  height: 20px;
  flex: none;
  margin-top: 1px;
  color: var(--blue);
}
.pl-honest.thin > .ico {
  color: var(--amber);
}
.pl-honest p {
  flex: 1 1 240px;
  margin: 0;
}
.pl-honest b {
  display: block;
  color: var(--text);
  font-size: 14.5px;
}

/* קפיצה לחלק במסך: לא מתחת לפס הסינון שנדבק למעלה */
#pl-explorer,
#pl-similar,
#pl-seqs,
.pl-seq {
  scroll-margin-top: 132px;
}

/* --- חלקים משותפים --- */
.pl-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--text-2);
  background: var(--card-2);
  border: 1px solid var(--line);
  transition: transform 0.14s var(--ease), background 0.15s, border-color 0.15s, color 0.15s;
}
.pl-chip:active {
  transform: scale(0.96);
}
.pl-chip.on {
  color: var(--text);
  background: var(--blue-soft);
  border-color: rgba(76, 155, 255, 0.6);
}
.pl-chip .ico {
  width: 15px;
  height: 15px;
}
.pl-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.06);
}
.pl-tag .ico {
  width: 13px;
  height: 13px;
}
.pl-tag.strong {
  color: var(--green);
  background: var(--green-soft);
}
.pl-tag.mid {
  color: var(--blue);
  background: var(--blue-soft);
}
.pl-tag.weak {
  color: var(--amber);
  background: var(--amber-soft);
}
.pl-none {
  margin: 6px 0 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--muted);
}
.pl-foot {
  margin: 12px 0 0;
  line-height: 1.55;
}
.pl-warn {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 0;
  padding: 9px 11px;
  border-radius: 12px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--amber);
  background: var(--amber-soft);
}
.pl-warn .ico {
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 2px;
}
.pl-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #2b3345 transparent;
  padding-bottom: 6px;
  outline: none;
}
.pl-scroll:focus-visible {
  box-shadow: 0 0 0 2px var(--blue);
  border-radius: 12px;
}

/* --- הדפוסים הכי חזקים --- */
.pl-find-cols {
  display: grid;
  gap: 18px;
}
.pl-find-col h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 16px;
}
.pl-find-col h3 .ico {
  width: 18px;
  height: 18px;
  padding: 5px;
  box-sizing: content-box;
  border-radius: 9px;
}
.pl-find-col.neg h3 .ico {
  color: var(--red);
  background: var(--red-soft);
}
.pl-find-col.pos h3 .ico {
  color: var(--green);
  background: var(--green-soft);
}
.pl-find-sub {
  margin: 4px 0 10px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.pl-find-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.pl-find {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 16px;
  font: inherit;
  text-align: start;
  color: var(--text);
  background: var(--card-2);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--red);
  transition: transform 0.15s var(--ease), border-color 0.15s, background 0.15s;
}
.pl-find.pos {
  border-inline-start-color: var(--green);
}
.pl-find:active {
  transform: scale(0.985);
}
.pl-find-rank {
  flex: none;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-2);
  background: rgba(255, 255, 255, 0.07);
}
.pl-find-main {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 8px;
}
.pl-find-text {
  font-size: 15px;
  line-height: 1.6;
}
.pl-find-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.pl-find-go {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-inline-start: auto;
  font-size: 13px;
  font-weight: 600;
  color: var(--blue);
}
.pl-find-go .ico {
  width: 14px;
  height: 14px;
}

/* --- הטבלה: כלים --- */
.pl-presets {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  margin-inline: -18px;
  padding: 0 18px 2px;
}
.pl-presets::-webkit-scrollbar {
  display: none;
}
.pl-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
  align-items: end;
  gap: 10px 8px;
  margin-top: 14px;
}
.pl-pick {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.pl-pick > span,
.pl-measure > span,
.pl-viewpick > span {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.pl-select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border-radius: 12px;
  font: inherit;
  font-size: 16px;
  color: var(--text);
  background: var(--field);
  border: 1px solid var(--line);
}
.pl-select:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 1px;
}
.pl-swap {
  width: 44px;
  height: 44px;
}
.pl-measure,
.pl-viewpick {
  grid-column: 1 / -1;
  display: grid;
  gap: 5px;
  min-width: 0;
}
.pl-seg .seg-btn {
  font-size: 13px;
  padding-inline: 2px;
  white-space: nowrap;
}
/* בטלפון: שמות קצרים למדדים, כדי שחמישה ייכנסו בשורה */
.pl-m-long {
  display: none;
}
.pl-what {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 12px 0 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-2);
}
.pl-what .ico {
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 3px;
  color: var(--muted);
}
.pl-what b {
  color: var(--text);
}

/* --- הטבלה עצמה --- */
.pl-main {
  min-width: 0;
}
.pl-heat {
  display: grid;
  grid-template-columns: minmax(92px, max-content) repeat(var(--cols), minmax(88px, 1fr)) minmax(92px, max-content);
  gap: 4px;
  min-width: max-content;
}
.pl-heat.compact {
  grid-template-columns: minmax(84px, max-content) repeat(var(--cols), minmax(74px, 1fr)) minmax(88px, max-content);
}
.pl-corner {
  position: sticky;
  inset-inline-start: 0;
  z-index: 3;
  display: grid;
  align-content: end;
  gap: 1px;
  padding: 4px 6px 6px;
  background: var(--card);
}
.pl-corner small {
  font-size: 12px;
  line-height: 1.3;
  color: var(--dim);
  white-space: nowrap;
}
.pl-ch,
.pl-rh {
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text-2);
  border-radius: 8px;
  transition: color 0.12s, background 0.12s;
}
.pl-ch {
  justify-content: center;
  text-align: center;
  padding: 6px 4px;
  min-height: 40px;
}
/* כותרת ארוכה יורדת לשורה שנייה ולא מרחיבה את העמודה */
.pl-ch > span {
  display: block;
  max-width: 92px;
}
.pl-heat.compact .pl-ch > span {
  max-width: 70px;
}
.pl-rh {
  position: sticky;
  inset-inline-start: 0;
  z-index: 2;
  padding: 4px 8px;
  max-width: 150px;
  background: var(--card);
  /* מכסה גם את הרווח בין השורות, כדי שתאים שנגללו לא יציצו שם */
  box-shadow: 0 0 0 3px var(--card);
}
.pl-ch.none,
.pl-rh.none,
.pl-ch.tot,
.pl-rh.tot {
  color: var(--muted);
  font-weight: 500;
}
.pl-ch.hot,
.pl-rh.hot {
  color: var(--text);
  background: #232c40;
}
.pl-cell {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 58px;
  padding: 6px 4px;
  border-radius: 11px;
  font: inherit;
  color: var(--text);
  background: var(--pl-cell);
  border: 1px solid transparent;
  transition: transform 0.14s var(--ease), box-shadow 0.14s;
}
.pl-cell::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  opacity: 0;
}
.pl-cell.up::before {
  background: var(--pl-up);
  opacity: calc(0.1 + var(--a, 0) * 0.0056);
}
.pl-cell.dn::before {
  background: var(--pl-dn);
  opacity: calc(0.1 + var(--a, 0) * 0.0056);
}
.pl-cell.seq::before {
  background: var(--pl-seq);
  opacity: calc(0.06 + var(--a, 0) * 0.0056);
}
.pl-cell b {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.pl-cell b i {
  font-style: normal;
  font-size: 9px;
  opacity: 0.9;
}
.pl-cell small {
  font-size: 12px;
  line-height: 1.2;
  color: rgba(238, 242, 248, 0.78);
  white-space: nowrap;
}
.pl-heat.compact .pl-cell b {
  font-size: 13px;
}
.pl-cell.none {
  min-height: 58px;
  color: var(--dim);
  background: transparent;
  border: 1px dashed rgba(255, 255, 255, 0.07);
}
/* מעט מדי עסקאות: קווים אלכסוניים ומסגרת מקווקוות, בלי צבע של רווח או הפסד */
.pl-cell.low {
  color: var(--muted);
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.075) 0 5px, transparent 5px 11px), var(--pl-cell);
  border: 1px dashed rgba(255, 255, 255, 0.26);
}
.pl-cell.low b {
  font-weight: 600;
}
.pl-cell.low small {
  color: var(--amber);
}
.pl-cell.tot {
  background: transparent;
  border: 1px solid var(--line);
}
.pl-cell.tot.low {
  border-style: dashed;
}
.pl-cell.tot::before {
  inset: 0;
  opacity: calc(0.04 + var(--a, 0) * 0.0026);
}
.pl-cell.tot.low::before {
  opacity: 0;
}
.pl-cell.sel {
  box-shadow: 0 0 0 2px var(--adm-accent), 0 8px 18px -8px rgba(0, 0, 0, 0.8);
  z-index: 1;
}
button.pl-cell:active {
  transform: scale(0.95);
}
button.pl-cell:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
  z-index: 1;
}

/* --- מקרא --- */
.pl-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-2);
}
.pl-leg-scale {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.pl-leg-scale small {
  font-size: 13px;
  margin-inline: 5px;
  white-space: nowrap;
}
.pl-sw {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 18px;
  border-radius: 5px;
  background: var(--pl-cell);
  overflow: hidden;
  font-style: normal;
}
.pl-sw::before {
  content: "";
  position: absolute;
  inset: 0;
}
.pl-sw.up::before {
  background: var(--pl-up);
  opacity: calc(0.1 + var(--a, 0) * 0.0056);
}
.pl-sw.dn::before {
  background: var(--pl-dn);
  opacity: calc(0.1 + var(--a, 0) * 0.0056);
}
.pl-sw.seq::before {
  background: var(--pl-seq);
  opacity: calc(0.06 + var(--a, 0) * 0.0056);
}
.pl-sw.mid {
  width: auto;
  min-width: 26px;
  padding: 0 5px;
}
.pl-sw.mid b {
  position: relative;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-2);
}
.pl-sw.low {
  background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0 4px, transparent 4px 8px), var(--pl-cell);
  border: 1px dashed rgba(255, 255, 255, 0.3);
}
.pl-leg-low {
  display: inline-flex;
  align-items: flex-start;
  gap: 7px;
}
.pl-leg-low .pl-sw {
  flex: none;
  margin-top: 1px;
}
.pl-leg-count {
  color: var(--muted);
}

/* --- החלונית: העסקאות שמאחורי התא --- */
.pl-panel {
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  background: var(--bg-2);
  border: 1px solid var(--line);
  scroll-margin-top: 120px;
}
.pl-panel.idle {
  display: flex;
  align-items: center;
  gap: 12px;
  border-style: dashed;
}
.pl-panel-ico {
  flex: none;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.05);
}
.pl-panel-ico .ico {
  width: 20px;
  height: 20px;
}
.pl-panel-hint {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted);
}
.pl-panel-hint b {
  display: block;
  color: var(--text-2);
}
.pl-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.pl-panel-head h3 {
  margin: 2px 0 0;
  font-size: 17px;
  line-height: 1.35;
}
.pl-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.pl-stat {
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border-radius: 12px;
  background: var(--card-2);
}
.pl-stat span {
  font-size: 13px;
  color: var(--muted);
}
.pl-stat b {
  font-size: 16px;
}
.pl-tlist {
  margin: 12px 0 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
}
.pl-trow {
  position: relative;
  border-bottom: 1px solid var(--line-soft);
}
.pl-trow:last-child {
  border-bottom: 0;
}
.pl-trow .trow {
  width: 100%;
  padding-bottom: 40px;
  border-bottom: 0;
}
.pl-sim-btn {
  position: absolute;
  inset-inline-start: 12px;
  bottom: 6px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--purple);
  background: var(--purple-soft);
  border: 0;
}
.pl-sim-btn .ico {
  width: 13px;
  height: 13px;
}
.pl-more {
  width: 100%;
  margin-top: 8px;
  justify-content: center;
}
.pl-sheet .pl-tlist {
  margin-top: 14px;
}

/* --- "מה קורה אחרי..." --- */
.pl-sec-head {
  margin: 22px 16px 0;
}
.pl-sec-head h2 {
  margin: 0;
  font-size: 20px;
}
.pl-sec-head p {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}
.pl-seq header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pl-seq h3 {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.35;
}
.pl-seq-what {
  margin: 4px 0 12px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
}
.pl-sides {
  display: grid;
  gap: 8px;
}
.pl-side {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 11px 13px;
  border-radius: 14px;
  font: inherit;
  text-align: start;
  color: var(--text);
  background: var(--card-2);
  border: 1px solid var(--line);
  transition: transform 0.15s var(--ease), border-color 0.15s;
}
button.pl-side:active {
  transform: scale(0.985);
}
.pl-side.low {
  border-style: dashed;
}
.pl-side.none {
  border-style: dashed;
  background: transparent;
  color: var(--muted);
}
.pl-side-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.pl-side-name {
  font-size: 14.5px;
  font-weight: 600;
}
.pl-side-n {
  font-size: 13px;
  color: var(--muted);
  white-space: nowrap;
}
.pl-side.low .pl-side-n {
  color: var(--amber);
}
.pl-side-val {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 21px;
  font-weight: 700;
}
.pl-side-val small {
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
}
/* פס מהאמצע: ימינה או שמאלה לפי הסימן, כמו ציר מספרים (שמאל = הפסד) */
.pl-bar2 {
  position: relative;
  display: block;
  height: 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  direction: ltr;
}
.pl-bar2::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  bottom: -3px;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
}
.pl-bar2 i {
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--w);
  border-radius: 4px;
  transform-origin: left center;
}
.pl-bar2 i.pos {
  left: 50%;
  background: var(--green);
}
.pl-bar2 i.neg {
  right: 50%;
  background: var(--red);
  transform-origin: right center;
}
.pl-bar2 i.zero {
  left: calc(50% - 2px);
  width: 4px;
  background: var(--muted);
}
.pl-bar2 i.low {
  opacity: 0.45;
}
.pl-side-extra {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-2);
}
.pl-side-extra span {
  white-space: nowrap;
}
.pl-seq-text {
  margin: 12px 0 0;
  font-size: 14.5px;
  line-height: 1.65;
}
.pl-seq-note {
  margin: 6px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-2);
}
.pl-seq-note.warn {
  color: var(--amber);
}
.pl-seq.flash {
  border-color: var(--adm-accent);
  box-shadow: 0 0 0 2px rgba(232, 197, 71, 0.35);
}

/* --- עסקאות דומות --- */
.pl-sim-tools {
  display: grid;
  gap: 10px;
}
.pl-sim-rule {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--text-2);
}
.pl-sim-rule .ico {
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 3px;
  color: var(--muted);
}
.pl-sim-sum {
  margin: 14px 0 0;
  padding: 11px 13px;
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.65;
  background: var(--card-2);
  border: 1px solid var(--line);
}
.pl-sim-sum.low {
  border-style: dashed;
}
.pl-sim-row {
  display: flex;
  gap: 10px;
  margin: 14px -18px 0;
  padding: 2px 18px 10px;
}
.pl-sim {
  flex: none;
  width: 168px;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 12px 10px;
  border-radius: 16px;
  font: inherit;
  text-align: start;
  color: var(--text);
  background: var(--card-2);
  border: 1px solid var(--line);
  transition: transform 0.15s var(--ease), border-color 0.15s;
}
.pl-sim:active {
  transform: scale(0.98);
}
.pl-sim.me {
  border-color: var(--adm-accent);
  background: linear-gradient(180deg, rgba(232, 197, 71, 0.1), transparent 50%), var(--card-2);
}
.pl-sim-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  min-width: 0;
}
.pl-sim-head .side {
  font-size: 12px;
  margin-inline-start: auto;
}
.pl-sim-when {
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--muted);
}
.pl-mini {
  display: grid;
  place-items: center;
  height: 150px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
}
.pl-mini.none {
  padding: 0 12px;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
  color: var(--dim);
}
.pl-mrail {
  stroke: rgba(255, 255, 255, 0.16);
  stroke-width: 2;
  stroke-linecap: round;
}
.pl-mz.pos {
  fill: rgba(79, 209, 155, 0.2);
}
.pl-mz.neg {
  fill: rgba(242, 118, 123, 0.22);
}
.pl-ml {
  stroke-width: 2;
  stroke-linecap: round;
}
.pl-ml.entry {
  stroke: #eef2f8;
}
.pl-ml.sl {
  stroke: var(--red);
}
.pl-ml.tp {
  stroke: var(--green);
  stroke-width: 1.5;
}
.pl-ml.exit {
  stroke: var(--adm-accent);
  stroke-width: 1.2;
  stroke-dasharray: 3 3;
}
/* הכיתוב בעברית: direction rtl, ואז text-anchor "end" = הקצה השמאלי של הטקסט בנקודה */
.pl-mt {
  font-size: 11px;
  font-family: inherit;
  fill: var(--muted);
  direction: rtl;
  text-anchor: end;
}
.pl-mt.entry {
  fill: var(--text);
}
.pl-mt.exit {
  fill: var(--adm-accent);
  font-weight: 600;
  text-anchor: start;
}
.pl-md {
  fill: var(--muted);
  stroke: #0e131d;
  stroke-width: 2;
}
.pl-md.pos {
  fill: var(--green);
}
.pl-md.neg {
  fill: var(--red);
}
.pl-sim-end {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  font-size: 16px;
  font-weight: 700;
}
.pl-sim-end .num + .num {
  font-size: 13px;
  font-weight: 600;
}
.pl-sim-score {
  font-size: 12.5px;
  color: var(--text-2);
}
.pl-sim-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.pl-sim-chips i {
  font-style: normal;
  font-size: 12px;
  padding: 1px 7px;
  border-radius: 999px;
  color: var(--dim);
  background: rgba(255, 255, 255, 0.04);
}
.pl-sim-chips i.on {
  color: var(--purple);
  background: var(--purple-soft);
}

/* --- תנועה: רק transform ו-opacity --- */
@media (prefers-reduced-motion: no-preference) {
  .pl.a-all .pl-card,
  .pl.a-all .pl-honest {
    animation: plUp 0.42s var(--ease) both;
    animation-delay: calc(var(--k, 0) * 45ms);
  }
  .pl.a-all button.pl-cell,
  .pl.a-heat button.pl-cell {
    animation: plCell 0.34s var(--ease) both;
    animation-delay: var(--d, 0ms);
  }
  .pl.a-all .pl-find {
    animation: plUp 0.4s var(--ease) both;
    animation-delay: calc(120ms + var(--k, 0) * 60ms);
  }
  .pl.a-all .pl-bar2 i:not(.zero) {
    animation: plGrow 0.6s var(--ease) both;
    animation-delay: 0.2s;
  }
  .pl.a-panel .pl-panel:not(.idle) {
    animation: plUp 0.26s var(--ease) both;
  }
  .pl-seq.flash {
    animation: plFlash 1.1s ease-out both;
  }
}
@keyframes plUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
}
@keyframes plCell {
  from {
    opacity: 0;
    transform: scale(0.84);
  }
}
@keyframes plGrow {
  from {
    transform: scaleX(0);
  }
}
@keyframes plFlash {
  0%,
  40% {
    transform: scale(1.015);
  }
  100% {
    transform: none;
  }
}
/* ====================== סוף הבלוק של דפוסים ====================== */
