/* «הסטודיו» · חם, נקי, רגוע. רקע שמנת · טקסט כהה · הדגשה אחת (חימר עדין). מותאם ל-360px. */
:root {
  /* ── «ליד הקיר» · DESIGN-DIRECTION.md (17.10.2026) · השמות הקיימים נשמרו ── */
  --bg: #F4F0EA; --card: #FBF9F6; --field: #FFFFFF; --ink: #221B17; --muted: #6A5E56; --line: #E2DAD0; --field-line: #948678; --pressed: #F1ECE4;
  --accent: #9C4F3C; --accent-strong: #8A4634; --accent-soft: #F4E5DC; --accent-ink: #FFFFFF;
  --sun: #D0B993; --night: #221B17; --on-night: #F4F0EA; --night-muted: #B3A79C;
  --ok: #4F5A26; --ok-soft: #E9ECDA; --warn: #80520F; --warn-soft: #F5EED9; --err: #A2413A; --err-soft: #F6E3E0;
  --font-display: "Frank Ruhl Libre", "Times New Roman", serif;
  --font-body: "Assistant", -apple-system, BlinkMacSystemFont, "Segoe UI", "Arial Hebrew", Arial, sans-serif;
  --fs-display: 32px; --lh-display: 38px; --fs-h1: 26px; --lh-h1: 32px; --fs-h2: 21px; --lh-h2: 28px; --fs-time: 24px; --lh-time: 28px;
  --fs-body: 17px; --lh-body: 26px; --fs-btn: 18px; --fs-small: 15px; --lh-small: 22px; --fs-micro: 13px; --lh-micro: 18px;
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --gutter: 16px;
  --r: 20px; --r-media: 24px; --r-field: 14px; --r-pill: 999px;
  --btn-h: 56px; --btn-h-sm: 44px; --field-h: 56px; --badge-h: 28px; --tabs-h: 64px; --tap: 48px; --step-dot: 28px; --seat-dot: 8px;
  --shadow-sheet: 0 -8px 24px rgb(34 27 23 / .08); --focus-ring: 3px solid #221B17; --ease: cubic-bezier(.2, .7, .2, 1); --dur: 180ms;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: var(--fs-body)/var(--lh-body) var(--font-body);
  overflow-x: hidden; min-height: 100vh;
}
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
.muted { color: var(--muted); }
.err { color: var(--err); margin: 8px 0 0; font-size: 15px; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; margin: 0; }
bdi { unicode-bidi: isolate; }
.h2 { font-size: var(--fs-h1); line-height: var(--lh-h1); margin: 4px 0 4px; }
.h3 { font-size: var(--fs-h2); line-height: var(--lh-h2); margin: 28px 0 10px; }
p { margin: 0 0 16px; }

/* ── כפתורים ושדות ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: var(--btn-h); padding: 0 22px; border-radius: var(--r-pill); border: 1.5px solid transparent; font-size: var(--fs-btn); font-weight: 700;
  font: inherit; font-weight: 600; cursor: pointer; text-align: center; -webkit-tap-highlight-color: transparent;
}
.btn-block { width: 100%; }
.btn-primary { background: var(--accent); color: var(--accent-ink); }
.btn-primary:hover, .btn-primary:active { background: var(--accent-strong); }
.btn-primary:active { transform: translateY(1px); }
.btn-ghost { background: var(--card); color: var(--ink); border-color: var(--field-line); }
.btn-ghost:active { background: var(--pressed); }
/* «ורוד-רך» נראה ככפתור כבוי (REDTEAM §4) ⟹ כפתור משני של DESIGN §4.3: משטח + קו. */
.btn-soft { background: var(--card); color: var(--ink); border-color: var(--field-line); }
.btn-soft:active { background: var(--pressed); }
.btn:disabled { background: var(--line); color: var(--muted); border-color: var(--line); cursor: default; }
.btn:focus-visible, .input:focus-visible, .tabbtn:focus-visible, .shot input:focus-visible + span, :focus-visible { outline: var(--focus-ring); outline-offset: 2px; }
.linkbtn { background: none; border: 0; color: var(--muted); font: inherit; font-size: 15px; padding: 10px 4px; cursor: pointer; }
.label { display: block; font-size: 15px; font-weight: 600; margin: 6px 0 6px; }
.input {
  width: 100%; min-height: var(--field-h); padding: 12px 14px; border: 1.5px solid var(--field-line); border-radius: var(--r-field);
  background: var(--field); color: var(--ink); font: inherit; font-size: 17px;
}
textarea.input { min-height: 88px; resize: vertical; line-height: 1.5; }
select.input { appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236E645C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat left 16px center / 12px 8px; padding-left: 40px; }

/* ── כניסה ── */
.login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px 20px; }
.login-box { width: 100%; max-width: 380px; }
.login-title { font-size: 30px; margin: 18px 0 8px; }
.login .btn { margin-top: 18px; }
.mark { width: 56px; height: 56px; border-radius: 50%; background: var(--accent); position: relative; }
.mark::after { content: ""; position: absolute; inset: 16px; border-radius: 50%; background: var(--bg); }

/* ── מסגרת ── */
.top {
  position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: calc(10px + env(safe-area-inset-top)) 20px 10px; background: var(--bg);
  border-bottom: 1px solid var(--line);
}
.top-title { font-size: 19px; font-family: var(--font-display); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
main { padding: 18px 16px calc(var(--tabs-h) + 28px + env(safe-area-inset-bottom)); max-width: 640px; margin: 0 auto; }
.stack > * + * { margin-top: 16px; }
.stack-sm > * + * { margin-top: 10px; }

/* ── לשוניות (למטה, בהישג-אגודל) ── */
.tabs {
  position: fixed; inset: auto 0 0 0; z-index: 10; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  height: calc(var(--tabs-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
  background: var(--card); border-top: 1px solid var(--line);
}
.tabbtn {
  position: relative; min-width: 0; padding: 0 2px; white-space: nowrap; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  background: none; border: 0; font: inherit; font-size: var(--fs-micro); font-weight: 600; color: var(--muted); cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.tabbtn[aria-selected="true"] { color: var(--accent); font-weight: 600; }
.tabbtn[aria-selected="true"]::before { content: ""; position: absolute; top: 0; left: calc(50% - 14px); width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: var(--accent); }
.badge { position: absolute; top: 6px; left: calc(50% - 28px); min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--accent); color: #fff; font-size: var(--fs-micro); line-height: 20px; font-weight: 700; }
.ico { width: 24px; height: 24px; display: block; background: currentColor; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.ico-list { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Ccircle cx='4.5' cy='6' r='1.2' fill='black'/%3E%3Ccircle cx='4.5' cy='12' r='1.2' fill='black'/%3E%3Ccircle cx='4.5' cy='18' r='1.2' fill='black'/%3E%3C/svg%3E"); }
.ico-up { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4M7 9l5-5 5 5M4 20h16'/%3E%3C/svg%3E"); }
.ico-home { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5L12 4l8.5 6.5'/%3E%3Cpath d='M5.5 9v10.5h13V9'/%3E%3Cpath d='M10 19.5v-5h4v5'/%3E%3C/svg%3E"); }
.ico-cal { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.ico-play { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Cpath d='M10 9l5 3-5 3z' fill='black'/%3E%3C/svg%3E"); }

/* ── כרטיסים ── */
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 16px; }
.card-head { display: flex; align-items: baseline; gap: 10px; }
.num { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; }
.card-title { font-size: var(--fs-h2); line-height: var(--lh-h2); }
.hook { margin: 12px 0 10px; padding: 10px 14px; border-inline-start: 3px solid var(--accent); background: var(--accent-soft); border-radius: 10px; border-start-start-radius: 0; border-end-start-radius: 0; font-size: 16px; }
.meta { font-size: 15px; color: var(--muted); margin: 0 0 10px; }
.meta b { color: var(--ink); font-weight: 600; }
.progress-line { font-size: 14px; color: var(--muted); margin: 10px 0 0; }
.done-chip { color: var(--ok); font-weight: 600; }

/* ── שוטים עם תיבות-סימון גדולות ── */
.shots { list-style: none; margin: 6px 0 0; padding: 0; }
.shot { display: flex; align-items: flex-start; gap: 12px; padding: 12px 2px; border-top: 1px solid var(--line); cursor: pointer; min-height: 52px; }
.shot:first-child { border-top: 0; }
.shot input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.box { flex: none; width: 28px; height: 28px; border-radius: 8px; border: 2px solid var(--line); background: #fff; margin-top: 1px; position: relative; transition: background .15s, border-color .15s; }
.shot input:checked + .box { background: var(--accent); border-color: var(--accent); }
.shot input:checked + .box::after { content: ""; position: absolute; left: 8px; top: 3px; width: 8px; height: 14px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.shot input:checked ~ .shot-text { color: var(--muted); text-decoration: line-through; text-decoration-color: rgba(110, 100, 92, .5); }
.shot-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.card .btn-soft { margin-top: 14px; }

/* ── העלאה ── */
.filepick { cursor: pointer; border-style: dashed; min-height: 64px; }
.filepick:focus-within { outline: 3px solid var(--accent); outline-offset: 2px; }
.qitem { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; }
.qrow { display: flex; justify-content: space-between; gap: 10px; font-size: 15px; }
.qname { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; direction: ltr; text-align: right; unicode-bidi: plaintext; }
.qstat { flex: none; color: var(--muted); }
.qitem.ok .qstat { color: var(--ok); font-weight: 600; }
.qitem.bad .qstat { color: var(--err); font-weight: 600; }
progress { display: block; width: 100%; height: 8px; margin-top: 8px; border: 0; border-radius: 4px; background: var(--line); overflow: hidden; -webkit-appearance: none; appearance: none; }
progress::-webkit-progress-bar { background: var(--line); border-radius: 4px; }
progress::-webkit-progress-value { background: var(--accent); border-radius: 4px; transition: width .2s; }
progress::-moz-progress-bar { background: var(--accent); border-radius: 4px; }
.qitem .btn { min-height: 44px; margin-top: 10px; font-size: 15px; }
.recent { list-style: none; margin: 0; padding: 0; }
.recent li { padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; display: flex; justify-content: space-between; gap: 10px; }
.recent li:first-child { border-top: 0; }
.recent .rname { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; unicode-bidi: plaintext; }
.recent .rmeta { flex: none; color: var(--muted); }

/* ── טיוטות ── */
.variant { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.variant:first-of-type { margin-top: 12px; }
.vhead { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.vtitle { font-weight: 600; }
.chip { font-size: 13px; padding: 3px 10px; border-radius: 20px; background: var(--line); color: var(--ink); white-space: nowrap; }
.chip.approved { background: var(--ok-soft); color: var(--ok); font-weight: 600; }
video { display: block; width: 100%; max-height: 70vh; border-radius: 12px; background: #1d1a17; aspect-ratio: 9 / 16; object-fit: contain; }
.vactions { display: grid; gap: 10px; margin-top: 12px; }
.saved { font-size: 14px; color: var(--ok); margin: 6px 0 0; }
.metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-top: 12px; text-align: center; }
.metric { background: var(--accent-soft); border-radius: 10px; padding: 8px 2px; min-width: 0; }
.metric b { display: block; font-size: 17px; }
.metric span { display: block; font-size: var(--fs-micro); color: var(--muted); line-height: 1.25; }
.empty { text-align: center; padding: 34px 18px; }

.toast {
  position: fixed; inset-inline: 16px; bottom: calc(var(--tabs-h) + 14px + env(safe-area-inset-bottom)); z-index: 20;
  max-width: 420px; margin: 0 auto; background: var(--ink); color: #fff; padding: 12px 16px; border-radius: 12px; font-size: 15px; text-align: center;
}
/* ── יומן (שיעורים והרשמה) ── */
.seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; background: var(--line); padding: 4px; border-radius: 14px; margin: 10px 0 18px; }
.seg button { min-height: 44px; border: 0; border-radius: 11px; background: transparent; font: inherit; font-size: 15px; color: var(--muted); cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--card); color: var(--ink); font-weight: 600; box-shadow: 0 1px 2px rgba(42, 36, 32, .08); }
.mt { margin-top: 16px; }
.small { font-size: 14px; }
.h3.first { margin-top: 4px; }
.back { padding: 6px 0 10px; }
.weeknav { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 22px 0 10px; }
.weeknav b { font-size: 17px; }
.navbtn { width: 48px; height: 44px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--card); font: inherit; font-size: 20px; color: var(--ink); cursor: pointer; }
.week { display: grid; gap: 8px; }
.day { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 8px 12px; }
.day.today { border-color: var(--accent); }
.day.empty-day { background: transparent; border-color: transparent; padding: 2px 12px; }
.day-head { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); font-weight: 600; min-height: 26px; }
.day.today .day-name { color: var(--accent); }
.day-none { margin-inline-start: auto; color: #B5A99C; font-size: 13px; font-weight: 400; }
.crow { display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 8px 0; border: 0; border-top: 1px solid var(--line); background: none; font: inherit; color: inherit; text-align: right; cursor: pointer; }
.day-head + .crow { border-top: 0; }
.crow-time { font: 700 19px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.crow-main { min-width: 0; display: flex; flex-direction: column; }
.crow-title { font-weight: 600; overflow-wrap: anywhere; }   /* M8 · השם לא נחתך */
.crow-main .dots { margin-top: 4px; max-width: none; }
.crow-meta { font-size: var(--fs-micro); color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crow.ext .crow-title { color: var(--muted); font-weight: 500; }
.count { font-weight: 700; font-size: 15px; padding: 4px 10px; border-radius: var(--r-pill); background: transparent; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.count.full { background: var(--accent-soft); color: var(--accent-strong); }
.count.ext { background: var(--line); color: var(--muted); font-size: 13px; font-weight: 600; }
.count small { font-size: var(--fs-micro); font-weight: 600; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.grid2 .btn { padding: 0 10px; font-size: 15.5px; }
.panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 14px; display: grid; gap: 10px; }
.panel-title { margin: 0; font-size: 15px; font-weight: 600; }
.copy-text { font-size: 15px; min-height: 0; }
.kinds { display: flex; flex-wrap: wrap; gap: 6px; }
.kinds button { min-height: 44px; padding: 0 14px; border-radius: 22px; border: 1.5px solid var(--line); background: var(--card); font: inherit; font-size: 15px; color: var(--ink); cursor: pointer; }
.kinds button[aria-checked="true"] { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 600; }
.preview { font-size: 14px; color: var(--ok); margin: 0; font-weight: 600; }
input[type="date"].input, input[type="time"].input { min-width: 0; -webkit-appearance: none; appearance: none; }
.btn-danger { background: none; color: var(--err); border-color: #E8C9C5; }
.class-head .card-title { font-size: 22px; }
.bigcount { display: flex; align-items: baseline; gap: 8px; margin: 6px 0 4px; }
.bigcount b { font: 700 34px/1 var(--font-display); color: var(--ink); font-variant-numeric: tabular-nums; }
.bigcount span { color: var(--muted); font-size: 15px; }
.bk { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; display: grid; gap: 8px; }
.bk.waiting { border-style: dashed; }
.bk-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.bk-name { font-size: 17px; min-width: 0; overflow-wrap: anywhere; }
.bk-amount { color: var(--muted); font-size: 15px; white-space: nowrap; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip.new { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.chip.promoted { background: var(--warn-soft); color: var(--warn); font-weight: 600; }
.chip.src { direction: ltr; }
.bk-phone { display: flex; align-items: center; gap: 8px; min-height: 44px; color: #2E6B3A; text-decoration: none; font-weight: 600; }
.ico-wa { width: 20px; height: 20px; --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.3-4A8 8 0 1 1 8.4 19z'/%3E%3C/svg%3E"); }
.seg2 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.seg2 button { min-height: 44px; border-radius: 11px; border: 1.5px solid var(--line); background: #fff; font: inherit; font-size: 15px; color: var(--ink); cursor: pointer; }
.seg2 button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 600; }
.label.sm { margin: 2px 0 0; font-size: 14px; }
.input-sm { min-height: 44px; padding: 8px 12px; font-size: 16px; }
.receipt-hint { margin: 0; font-size: 14px; color: var(--accent); font-weight: 600; }
.receipt-hint.ok { color: var(--ok); }
.linkbtn.danger { color: var(--err); justify-self: start; padding: 6px 0; font-size: 14px; }
.wa-link.sent { opacity: .55; }
.wa-link.sent::after { content: " ✓"; }
.src-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.src-name { min-width: 0; display: flex; flex-direction: column; }
.src-name span { font-size: 14px; }
.src-big { text-align: center; flex: none; }
.src-big b { display: block; font: 700 30px/1 var(--font-display); color: var(--ink); }
.src-big span { font-size: 13px; color: var(--muted); }
.src-stats { font-size: 14px; color: var(--muted); margin: 8px 0 4px; }
.src-url { font-size: 13px; color: var(--muted); overflow-wrap: anywhere; text-align: left; margin-bottom: 10px; }
.src-rest p { margin: 0 0 6px; font-size: 15px; }
.photo-row { display: flex; align-items: center; gap: 14px; }
.photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; background: var(--accent-soft); flex: none; }
.photo.mono { display: flex; align-items: center; justify-content: center; font-size: 28px; color: var(--accent); font-weight: 600; }
.price-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px; align-items: center; gap: 10px; font-size: 15px; }
.loc { margin: 0; font-size: 15px; }
.cal-body .card.empty { padding: 22px 16px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
.shot.opt input:checked ~ .shot-text { color: inherit; text-decoration: none; }

/* ── מזרנים (8 נקודות = 8 מזרנים) ── */
.dots { display: inline-flex; flex-wrap: wrap; gap: 5px; max-width: 120px; }
.dot { width: var(--seat-dot); height: var(--seat-dot); border-radius: 50%; background: var(--ink); }
.dot.free { background: transparent; box-shadow: inset 0 0 0 1.5px var(--field-line); }
.crow-seats { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.bigcount .dots { max-width: none; gap: 8px; align-self: center; }
.bigcount .dot { width: 12px; height: 12px; }
a.btn { text-decoration: none; }

/* ── «היום» · מסך הבית ── */
.hello { margin: 2px 0 6px; }
.hello .h2 { margin: 0; }
.hello-date { margin: 2px 0 0; font-size: var(--fs-small); font-weight: 600; }
.tsec .h3 { margin: 26px 0 10px; }
.none { margin: 0; }
.tc { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; min-height: 64px; padding: 12px 14px;
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r); font: inherit; color: inherit; text-align: right; cursor: pointer; -webkit-tap-highlight-color: transparent; }
button.tc:active { background: var(--pressed); }
.tc.ext { border-style: dashed; cursor: default; }
.tc.past { color: var(--muted); }
.tc.past .dot { background: var(--muted); }
.tc-time { font: 700 var(--fs-time)/var(--lh-time) var(--font-display); font-variant-numeric: tabular-nums; }
.tc-main { min-width: 0; display: flex; flex-direction: column; }
.tc-title { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tc-meta { font-size: var(--fs-small); color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tc-seats { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.tc .dots { max-width: 100px; }
.wc { display: grid; gap: 10px; }
.wc.warn { background: var(--warn-soft); }
.wc .card-head { align-items: center; }
.wc-title { font-size: var(--fs-h2); line-height: var(--lh-h2); }
.wc-detail { margin: 0; color: var(--muted); font-size: var(--fs-small); line-height: var(--lh-small); }
.wc .hook { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; color: var(--muted); }   /* בלי מסגרת כפולה (DESIGN §7.10) */
.wc .btn { min-height: 48px; }
.empty-ok { text-align: center; padding: 24px 16px; }
.empty-ok p { margin: 0; }
.ok-line { font: 700 var(--fs-h2)/var(--lh-h2) var(--font-display); color: var(--ok); }
.meter { display: grid; gap: 6px; }
.meter-when { margin: 0; font-size: var(--fs-small); font-weight: 600; color: var(--muted); }
.meter .bigcount { margin: 0; }
.meter-left { margin: 0 0 6px; font-weight: 600; color: var(--accent-strong); }
.quick { margin-top: 28px; }

/* ── תיקוני רד-טים (18.10) ── */
.count.off, .tc .count.off { background: var(--err-soft); color: var(--err); font-size: var(--fs-micro); font-weight: 700; }
.crow.off .crow-title, .crow.off .crow-time, .tc.cancelled .tc-title, .tc.cancelled .tc-time { color: var(--muted); text-decoration: line-through; text-decoration-color: rgb(106 94 86 / .5); }
.banner-off { margin: 0 0 10px; padding: 10px 14px; border-radius: var(--r-field); background: var(--err-soft); color: var(--err); font-weight: 700; }
.class-head.off { opacity: .75; }
.notice-box { display: grid; gap: 8px; margin-top: 12px; background: var(--warn-soft); }
.notice-box .muted { margin: 0; }
.presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; }
.preset { min-height: 44px; padding: 0 16px; border-radius: var(--r-pill); border: 1.5px solid var(--field-line); background: var(--card); font: inherit; font-size: 15px; font-weight: 600; color: var(--ink); cursor: pointer; }
.preset[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.row-links { display: flex; flex-wrap: wrap; gap: 0 14px; }
.row-links .linkbtn { padding: 6px 0; font-size: 14px; text-decoration: underline; }
.armed { outline: 2px solid var(--err); outline-offset: 2px; }
.linkbtn.danger.mt { display: block; margin-inline: auto; }
