/* Cyber School Ops — design system (Soft UI, Hebrew RTL) */
:root{
  --primary:#6D28D9; --primary-strong:#5B21B6; --primary-soft:#F1EBFD; --primary-border:#DDD1F8;
  --cta:#EA580C; --cta-soft:#FFF1E7;
  --bg:#F7F6FB; --surface:#FFFFFF; --surface-2:#F2F0F9;
  --ink:#1E1B2E; --ink-soft:#3F3A55; --muted:#6E6787; --faint:#9A94B0;
  --border:#E7E4F0; --border-strong:#D6D1E6;
  --good:#15803D; --good-soft:#E9F7EE;
  --warn:#B45309; --warn-soft:#FdF3E2;
  --crit:#BE123C; --crit-soft:#FCE9ED;
  --info:#0369A1; --info-soft:#E6F3FA;
  --shadow-sm:0 1px 2px rgba(30,27,46,.05);
  --shadow:0 1px 3px rgba(30,27,46,.06),0 8px 24px rgba(30,27,46,.07);
  --r:14px; --r-sm:10px;
  --sidebar-w:248px;
  font-size:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Heebo",-apple-system,"Segoe UI","Arial Hebrew",sans-serif;
  line-height:1.55;-webkit-font-smoothing:antialiased;direction:rtl}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-strong)}
button{font-family:inherit}

/* ===== shell ===== */
.shell{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);background:#221A3F;color:#CFC7E8;flex-shrink:0;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 14px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.brand{display:flex;align-items:center;gap:10px;padding:6px 10px 20px;color:#fff}
.brand .logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#7C3AED,#4F46E5);
  display:grid;place-items:center;font-weight:800;font-size:1.05rem;color:#fff}
.brand b{font-size:1.02rem;letter-spacing:.01em}
.brand small{display:block;font-size:.7rem;color:#9E93C7;font-weight:400}
.nav-label{font-size:.68rem;letter-spacing:.12em;color:#8C81B8;padding:12px 12px 6px;font-weight:600}
.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#CFC7E8;
  font-size:.93rem;font-weight:500;margin-bottom:2px;transition:background .18s,color .18s;cursor:pointer}
.nav a svg{width:19px;height:19px;flex-shrink:0;opacity:.85}
.nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.nav a.on{background:var(--primary);color:#fff}
.side-foot{margin-top:auto;padding:10px 12px;font-size:.78rem;color:#8C81B8}
.side-foot a{color:#B7ACDD}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:16px;padding:14px 28px;background:var(--surface);
  border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}
.topbar h1{font-size:1.12rem;font-weight:700;margin:0}
.topbar .crumb{color:var(--muted);font-size:.85rem;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .spacer{flex:1}
.userchip{display:flex;align-items:center;gap:9px;font-size:.88rem;color:var(--ink-soft)}
.userchip .avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary);
  display:grid;place-items:center;font-weight:700;font-size:.85rem}
.content{padding:26px 28px 48px;max-width:1240px;width:100%;margin:0 auto}

/* ===== KPI cards ===== */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow-sm)}
.kpi .v{font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi .l{font-size:.82rem;color:var(--muted);margin-top:3px}
.kpi.hot .v{color:var(--crit)}
.kpi.go .v{color:var(--good)}
.kpi.brand .v{color:var(--primary)}

/* ===== module cards ===== */
.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:8px}
.modcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,border-color .2s;cursor:pointer}
.modcard:hover{box-shadow:var(--shadow);border-color:var(--primary-border)}
.modcard .mihead{display:flex;align-items:center;gap:12px}
.modcard .mic{width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);
  display:grid;place-items:center}
.modcard .mic svg{width:21px;height:21px}
.modcard h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}
.modcard p{margin:0;font-size:.86rem;color:var(--muted)}
.modcard .stat{margin-top:6px;font-size:.83rem;font-weight:600;color:var(--primary)}

/* ===== panels / tables ===== */
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);
  margin-bottom:22px;overflow:hidden}
.panel .phead{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--border)}
.panel .phead h2{margin:0;font-size:1rem;font-weight:700}
.panel .phead .sub{color:var(--muted);font-size:.83rem}
.panel .phead .spacer{flex:1}
.pbody{padding:18px 20px}
.tblwrap{overflow-x:auto}

/* טבלה עם שורת כותרת קפואה — בקשת דקלה 31/08/2026, "כמו שאנחנו מקפיאים
   שורה בשיטס". ברשימה של 300+ לידים היא גללה למטה ואיבדה את שמות העמודות.
   הטבלה גוללת בתוך עצמה והכותרת נשארת.

   ניסיתי גם לנעוץ את עמודת העדכון לקצה כדי לחסוך גלילה אופקית — וזו הייתה
   טעות: עמודה נעוצה יושבת מעל התוכן שגולל מתחתיה, כך שהיא הסתירה את הקצה
   של „תיעוד והשתלשלות” ובלעה לגמרי את „פנייה”. הוסר. מקפיאים רק את מה
   שהתבקש, ורק בציר שבו אין מה להסתיר. */
.tblwrap.frozen{overflow:auto;max-height:calc(100vh - 250px)}
.tblwrap.frozen table.data{border-collapse:separate;border-spacing:0}
.tblwrap.frozen thead th{position:sticky;top:0;z-index:3}
@media (max-width:900px){
  .tblwrap.frozen{overflow-x:auto;overflow-y:visible;max-height:none}
  .tblwrap.frozen thead th{position:static}
}
table.data{width:100%;border-collapse:collapse;font-size:.89rem}
table.data th{text-align:right;padding:10px 16px;font-size:.72rem;color:var(--muted);font-weight:700;
  text-transform:none;letter-spacing:.02em;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}
table.data td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
table.data tr:last-child td{border-bottom:none}
table.data tr.rowlink{cursor:pointer;transition:background .15s}
table.data tr.rowlink:hover{background:var(--primary-soft)}
.num{font-variant-numeric:tabular-nums}
.tight{white-space:nowrap}
.dim{color:var(--muted)}
.small{font-size:.8rem}

/* ===== pills & badges ===== */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;
  padding:3px 10px;border-radius:999px;white-space:nowrap}
.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.st-awaiting{background:var(--warn-soft);color:var(--warn)}
.st-active{background:var(--good-soft);color:var(--good)}
.st-planning{background:var(--surface-2);color:var(--muted)}
.st-frozen{background:var(--info-soft);color:var(--info)}
.st-canceled{background:var(--crit-soft);color:var(--crit)}
.st-last_month{background:var(--cta-soft);color:var(--cta)}
.st-ended{background:var(--surface-2);color:var(--faint)}
.st-submitted{background:var(--warn-soft);color:var(--warn)}
.st-approved{background:var(--good-soft);color:var(--good)}
.st-rejected{background:var(--crit-soft);color:var(--crit)}
.st-paid{background:var(--info-soft);color:var(--info)}
.badge-miss{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;
  background:var(--crit-soft);color:var(--crit);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}
.badge-ok{color:var(--good);font-weight:700;font-size:.85rem}
.chip{display:inline-block;font-size:.76rem;font-weight:600;padding:3px 9px;border-radius:8px;
  background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--border);margin:1px}

/* ===== tabs / filters ===== */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tabs a{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;font-size:.86rem;
  font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);
  transition:all .18s;cursor:pointer}
.tabs a:hover{border-color:var(--primary-border);color:var(--primary)}
.tabs a.on{background:var(--primary);border-color:var(--primary);color:#fff}
.tabs a .n{font-size:.74rem;font-variant-numeric:tabular-nums;background:rgba(0,0,0,.08);
  padding:1px 7px;border-radius:999px}
.tabs a.on .n{background:rgba(255,255,255,.22)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.filters input[type=search],.filters select{font-family:inherit;font-size:.9rem;padding:9px 13px;
  border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--ink);min-width:200px}
.filters input:focus,.filters select:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;font-size:.88rem;
  font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .18s}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-strong);color:#fff}
.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--ink-soft)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}

/* ===== checklist ===== */
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px dashed var(--border)}
.checklist li:last-child{border-bottom:none}
.ck{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.ck.done{background:var(--good-soft);color:var(--good)}
.ck.miss{background:var(--crit-soft);color:var(--crit)}
.ck.info{background:var(--info-soft);color:var(--info)}
.ck svg{width:14px;height:14px}
.checklist .code{font-size:.72rem;font-weight:700;color:var(--faint);width:44px;flex-shrink:0}

/* ===== detail grid ===== */
.dgrid{display:grid;grid-template-columns:2fr 1fr;gap:18px}
@media(max-width:960px){.dgrid{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:.9rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:500}
.linkrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;
  border-bottom:1px dashed var(--border);font-size:.89rem}
.linkrow:last-child{border-bottom:none}
.linkrow .lname{color:var(--ink-soft)}
.linkrow a{font-weight:600;font-size:.84rem}
.linkrow .none{color:var(--faint);font-size:.82rem}

/* occupancy bar */
.occ{display:flex;align-items:center;gap:8px;min-width:110px}
.occ .bar{flex:1;height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.occ .fill{height:100%;border-radius:99px;background:var(--primary)}
.occ.full .fill{background:var(--crit)}
.occ .pv{font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--muted);width:34px;text-align:left}

/* pipeline board */
.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.bcol{background:var(--surface-2);border-radius:var(--r);padding:12px}
.bcol h4{margin:0 0 10px;font-size:.85rem;display:flex;justify-content:space-between;color:var(--ink-soft)}
.bcard{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;
  margin-bottom:8px;font-size:.85rem;box-shadow:var(--shadow-sm)}
.bcard b{display:block;font-size:.87rem}
.bcard .m{color:var(--muted);font-size:.78rem}

/* empty state */
.empty{padding:38px 20px;text-align:center;color:var(--muted)}
.empty .big{font-size:1.02rem;font-weight:600;color:var(--ink-soft);margin-bottom:6px}

/* pagination */
.pager{display:flex;align-items:center;gap:8px;justify-content:center;padding:16px}
.pager a,.pager span{padding:7px 13px;border-radius:9px;font-size:.86rem;font-weight:600;
  border:1px solid var(--border-strong);color:var(--ink-soft);background:var(--surface)}
.pager a:hover{border-color:var(--primary);color:var(--primary)}
.pager .cur{background:var(--primary);border-color:var(--primary);color:#fff}
.pager .info{border:none;background:none;color:var(--muted);font-weight:400}

/* login */
.loginwrap{min-height:100vh;display:grid;place-items:center;background:
  radial-gradient(1000px 500px at 85% -10%,#2E2159 0%,transparent 60%),
  radial-gradient(800px 500px at 10% 110%,#3B2A6E 0%,transparent 55%),#191231}
.logincard{background:var(--surface);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.4);
  padding:38px 36px;width:min(400px,92vw)}
.logincard .brand2{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.logincard .logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#7C3AED,#4F46E5);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.2rem}
.logincard h1{font-size:1.15rem;margin:0}
.logincard small{color:var(--muted)}
.logincard label{display:block;font-size:.85rem;font-weight:600;margin:14px 0 5px;color:var(--ink-soft)}
.logincard input{width:100%;padding:11px 13px;border:1px solid var(--border-strong);border-radius:10px;
  font-family:inherit;font-size:.95rem}
.logincard input:focus{outline:2px solid var(--primary);outline-offset:1px}
.logincard .btn{width:100%;justify-content:center;margin-top:20px;padding:12px}
.logincard .err{background:var(--crit-soft);color:var(--crit);border-radius:10px;padding:10px 13px;
  font-size:.85rem;margin-bottom:8px}

/* responsive */
@media(max-width:860px){
  .sidebar{position:fixed;inset-inline-start:0;top:0;bottom:0;height:100dvh;z-index:50;transform:translateX(100%);transition:transform .25s;overflow-y:auto;padding-bottom:40px}
  [dir=rtl] .sidebar{transform:translateX(100%)}
  .sidebar.open{transform:none}
  .menu-btn{display:inline-grid !important}
  .content{padding:18px 14px 40px}
  .topbar{padding:12px 14px}
}
.menu-btn{display:none;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);
  background:var(--surface);cursor:pointer}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important}}

/* ===== forms (course create/edit) ===== */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.fitem{display:flex;flex-direction:column;gap:5px}
.fitem.wide{grid-column:1/-1}
.fitem label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}
.fld,.fitem input,.fitem select,.fitem textarea{font-family:inherit;font-size:.9rem;padding:9px 12px;
  border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--ink);width:100%}
.fitem input:focus,.fitem select:focus,.fitem textarea:focus,.fld:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.ferr{color:var(--crit);font-size:.78rem}
.formerr{background:var(--crit-soft);color:var(--crit);border-radius:10px;padding:10px 14px;margin-bottom:14px}
.formbar{display:flex;gap:10px;align-items:center;margin:6px 0 30px}

/* mini action buttons in checklist */
.btn-mini{font-family:inherit;font-size:.76rem;font-weight:700;padding:5px 11px;border-radius:8px;
  border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);
  cursor:pointer;white-space:nowrap;transition:all .18s;text-decoration:none;display:inline-block}
.btn-mini:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.checklist li form{margin:0}

/* toasts */
.toasts{position:sticky;top:70px;z-index:40;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.toast{padding:12px 16px;border-radius:11px;font-size:.9rem;font-weight:500;box-shadow:var(--shadow);
  border:1px solid transparent;animation:toastin .25s ease}
.toast-success{background:var(--good-soft);color:var(--good)}
.toast-info{background:var(--info-soft);color:var(--info)}
.toast-error,.toast-danger{background:var(--crit-soft);color:var(--crit)}
.toast-warning{background:var(--warn-soft);color:var(--warn)}
@keyframes toastin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* attendance grid */
.attgrid th.sticky,.attgrid td.sticky{position:sticky;inset-inline-start:0;background:var(--surface);z-index:2;min-width:150px}
.attgrid thead th.sticky{background:var(--surface-2);z-index:3}
.attcell{text-align:center}
.attcell input[type=checkbox]{width:19px;height:19px;accent-color:var(--primary);cursor:pointer}

/* Google sign-in */
.gbtn{width:100%;justify-content:center;background:var(--surface);border:1px solid var(--border-strong);
  color:var(--ink);font-weight:600;padding:11px;margin-bottom:4px}
.gbtn:hover{border-color:var(--primary);color:var(--ink);background:var(--surface-2)}
.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:.78rem;margin:14px 0 2px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border)}

/* Sidebar sub-menu (personal area) */
.subnav{display:flex;flex-direction:column;margin:2px 0 6px}
.subnav a{padding:5px 14px 5px 34px;font-size:.78rem;color:#B7ACDD;text-decoration:none;
  border-inline-start:2px solid transparent}
.subnav a:hover{color:#fff}
.subnav a.on{color:#fff;border-inline-start-color:#7C3AED;background:rgba(255,255,255,.06)}

/* עריכה מהירה בשורה — שדות שנשמרים ב-onchange, בלי כפתור (קורסים, מדריכים). */
.qe{display:inline-block;vertical-align:middle;margin:0}
.qe input:not([type=hidden]),.qe select:not(.qe-status){height:28px;box-sizing:border-box;vertical-align:middle;
  border:1px solid var(--border);border-radius:6px;padding:0 6px;font-size:.8rem;background:var(--surface,#fff);font-family:inherit}
.qe-status{display:inline-block;height:28px;line-height:26px;border-radius:999px;border:1px solid transparent;
  padding:0 26px 0 12px;font:600 .76rem Heebo,system-ui,sans-serif;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.5'/></svg>");
  background-repeat:no-repeat;background-position:left 9px center}
.btn-mini.ghost{background:transparent;border:1px dashed var(--border);color:var(--muted,#6b7280)}

/* רשתות של תיבות סימון — איפיון ההדרכה (קהלים, תכנים, זמינות, שפות, אישורים). */
.cbx-wrap > div, .cbx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 12px}
.cbx-wrap label, .cbx-grid label{display:flex;align-items:center;gap:6px;font-size:.84rem;cursor:pointer;font-weight:500}
.cbx-wrap input[type=checkbox], .cbx-grid input[type=checkbox]{width:16px;height:16px;margin:0}

/* ===== מתג הפעילות (11/09/2026) — כפתורים גדולים מתחת לסרגל העליון ===== */
.actbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--border)}
.actbar .act{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;font-size:.9rem;font-weight:700;
  background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft);text-decoration:none;transition:all .15s}
.actbar .act:hover{border-color:var(--primary-border);color:var(--primary)}
.actbar .act.on{background:var(--primary);border-color:var(--primary);color:#fff}
@media (max-width:900px){.actbar{padding:8px 10px;gap:6px}.actbar .act{padding:6px 10px;font-size:.82rem}}

/* ===== קורסי ריקוד (הועבר מ-cyberdance-ops, 11/09/2026) ===== */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:0 0 14px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:.93rem}.kv dt{color:var(--muted)}.kv dd{margin:0}
.modgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:0 0 14px}
.modcard{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.modcard h3{margin:0 0 8px;font-size:1rem}.modcard .kpis{margin:8px 0 10px}.modcard .btn{margin-top:6px}
.linkrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border)}.linkrow:last-child{border-bottom:0}
.hint{background:var(--primary-soft,#EEE9FB);border-radius:10px;padding:10px 13px;font-size:.88rem;margin-bottom:12px}
.formerr{background:var(--crit-soft);color:var(--crit);border-radius:10px;padding:10px 13px;font-size:.88rem;margin-bottom:12px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.fitem{display:flex;flex-direction:column;gap:4px}.fitem.wide{grid-column:1/-1}.fitem label{font-size:.82rem;color:var(--muted)}
.fitem input,.fitem select,.fitem textarea{padding:9px 11px;border:1px solid var(--border-strong);border-radius:10px;font-family:inherit;font-size:.93rem;background:var(--surface)}
.fitem input[type=checkbox]{width:18px;height:18px}.ferr{color:var(--crit);font-size:.82rem}
.rowform{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;align-items:center}.chk{display:flex;gap:6px;align-items:center;font-size:.9rem}
.sharelink{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.attgrid .sticky{position:sticky;inset-inline-start:0;background:var(--surface);z-index:1}.attgrid .attcell{text-align:center}.attgrid input[type=checkbox]{width:20px;height:20px}
.kpi.hot b{color:var(--crit)}.spacer{flex:1}


/* ------------------------------------------------------------------ טבלת-כרטיסים
   ג'וליה לא מצאה את כפתור "שיבוץ" כי עמודת הפעולות נגללה אל מחוץ למסך בטלפון
   (390px, טבלה של 5–6 עמודות ב-tblwrap). אותה תקלה דווחה גם על מסך היסטוריית
   הצימרים. **עמודת פעולות לא יושבת בטבלה נגללת** — בנייד השורה הופכת לכרטיס
   והכפתורים יושבים בתוכו, גלויים תמיד. */
@media (max-width: 760px) {
  .cardtable, .cardtable tbody, .cardtable tr, .cardtable td { display: block; width: 100%; }
  .cardtable { min-width: 0; }   /* מבטל min-width של .data, אחרת הכרטיס עדיין נגלל */
  .cardtable thead { display: none; }
  .cardtable tr { border: 1px solid var(--line, #e6e3f2); margin-bottom: 10px; padding: 4px 0; }
  .cardtable td { border: 0; display: flex; justify-content: space-between; gap: 12px;
                  padding: 7px 12px; text-align: start; }
  .cardtable td[data-label]::before { content: attr(data-label); color: var(--muted, #6a7791);
                                      font-size: .8rem; font-weight: 600; flex: 0 0 auto; }
  .cardtable td.num { text-align: start; }
  .cardtable td.acts { justify-content: flex-start; flex-wrap: wrap; gap: 8px;
                       border-top: 1px solid var(--line, #eeecf6); margin-top: 2px; padding-top: 10px; }
  .cardtable td.acts::before { content: none; }
  .cardtable td:empty { display: none; }
}

/* גיליון השיבוצים (עומרי 21/09/2026: "זה סך הכל גיליון שיבוצים — פשוט ואינטואיטיבי").
   טפסים קטנים יושבים זה לצד זה בתוך תא, ובנייד יורדים לשורה משלהם עם שטח נגיעה מלא. */
.inlineform{display:inline-block;margin:0 0 0 6px;vertical-align:middle}
.inlineform .fld{padding:6px 8px;font-size:.82rem;min-height:40px}
.inlineform .btn-mini{min-height:40px;padding:0 12px}
tr.addrow td{background:var(--bg-soft,#fafafa)}
@media (max-width:760px){
  .inlineform{display:block;margin:6px 0}
  .inlineform .fld,.inlineform .btn-mini{width:100%}
}

/* ── לוח המשימות: מסך "היום" ─────────────────────────────────────────────────
   עומרי 20/09/2026: הלוח היה 70,988px בנייד (81 מסכי טלפון) והרשימה האישית
   התחילה ב-66% מהעמוד. הטריאז' באותו טלפון היה 1,709px — אותה מערכת, אותו
   מכשיר. כלומר הבעיה לא הייתה הנייד אלא המסך. ההגדרה כאן: פתיחה על היום,
   אריחים לפי תהליך, וכל השאר מאחורי details. */
.panel.focus{border-inline-start:3px solid var(--brand,#6d28d9)}
.focus .meets{display:flex;flex-direction:column;gap:6px;padding-bottom:4px}
.focus .meet{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.focuslist td{vertical-align:top}
.focuslist .tlink{font-weight:600;text-decoration:none;color:inherit}
.focuslist .tlink:hover{text-decoration:underline}
.focuslist .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.focuslist .late{color:var(--crit,#b91c1c)}
.focuslist .pill{font-size:.72rem;padding:2px 8px;border-radius:6px;background:#eee}
.focuslist .pill.p1{background:#fee2e2;color:#991b1b}
.focuslist .pill.p2{background:#fef3c7;color:#92400e}
.focuslist .pill.p4{background:#e5e7eb;color:#374151}
.focuslist .chip{font-size:.72rem;padding:2px 8px;border-radius:6px;background:#f3f4f6}

/* אריחים לפי תהליך — עומרי: "אריחים לפי חתכים… כל המשימות, סייבר, פיתוח,
   ריקוד, פרטי". מינימום 44px גובה נגיעה, בלי פינות גלולה (תקן 16/09). */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;padding:12px}
.tiles.cuts{padding-top:0}
.tile{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:10px 12px;
      border:1px solid var(--line,#e5e7eb);border-radius:6px;text-decoration:none;color:inherit;
      font-size:1.35rem;font-weight:700;line-height:1.1}
.tile span{display:block;font-size:.78rem;font-weight:500;opacity:.75;margin-top:2px}
.tile:hover{border-color:var(--brand,#6d28d9)}
.tile.hot{border-color:var(--crit,#b91c1c)}
.tile.muted{opacity:.7}

details.panel>summary{cursor:pointer;list-style:none}
details.panel>summary::-webkit-details-marker{display:none}
details.panel>summary::after{content:"▾";margin-inline-start:auto;opacity:.5}
details.panel[open]>summary::after{content:"▴"}

@media (max-width:760px){
  .tiles{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px;padding:10px}
  .tile{min-height:56px;font-size:1.15rem}
  .focuslist .acts{display:flex;gap:6px;flex-wrap:wrap}
  .focuslist .acts .inlineform{flex:1 1 auto;margin:0}
}

/* 22/09: "היום" התחיל ב-613px — 70% מהמסך הראשון בטלפון היה ניווט. שורת
   העולמות מתקפלת במסך היום; במסך מסונן היא נשארת פתוחה כדי שיהיה ברור איפה אתה. */
.tabsfold{margin:0 0 8px}
.tabsfold>summary{cursor:pointer;padding:6px 2px;min-height:40px;display:flex;align-items:center}
.tabsfold>summary::-webkit-details-marker{display:none}
.tabsfold[open]>summary{opacity:.6}

/* "לידיעה" — הכפתור יושב בקצה שורת האירוע ולא דוחף את הכותרת. */
.meet{justify-content:flex-start}
.meet .meetfyi{margin-inline-start:auto}
.meet .btn-mini{min-height:36px}
.meet .chip.fyi{font-size:.72rem;padding:2px 8px;border-radius:6px;background:#eef2ff;color:#3730a3}

/* תיבת הסינון שמעל בורר ארוך (מדריכים) — נמוכה ומשנית, כדי שלא תיראה כשדה נוסף */
.selfilter{margin-bottom:6px;font-size:.86rem;padding:7px 10px}
