/* Синхронизации — НОВЫЕ компоненты вкладки (не дублируют styles.css).
   Скоуп под #screen-syncs (лента/список) и #sync-modal (модалка), чтобы не течь на
   другие экраны и таблицы (reference_dashboard_row_class_collision).
   Переиспользуются из styles.css: .screen/.grid/.g4/.kpi/.k-* .panel/.ph/.no-data/
   .chip/.c-green/.c-amber/.c-red/.dot/.green/.amber/.red/.gfaint/.seg/.name/.count.
   .meta живёт в tasker.css (под .tasker-screen) → модалку обязательно скоупим под
   #sync-modal. .tag/.tag.* глобально уникальны и нужны и в списке, и в модалке →
   оставлены без префикса. */

/* шапка Календаря дня: заголовок + подпись в ряд с отступом (иначе спаны слипаются) */
#screen-syncs .ph-left{display:flex;align-items:baseline;gap:10px;min-width:0}

/* чип «не запускалась» — единственный отсутствующий модификатор семейства .c-* */
.c-off{background:var(--surface-3);color:var(--muted)}

/* KPI: точка-статус крупнее (как в макете) */
#screen-syncs .k-num{display:flex;align-items:center;gap:9px}
#screen-syncs .k-num .dot{width:11px;height:11px}

/* теги клиента (список + шапка модалки) */
.tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--surface-3);color:var(--text-2);white-space:nowrap}
.tag.ikomek{background:var(--accent-soft);color:var(--accent)} .tag.vb{background:#e7f1fb;color:#2563a6} .tag.sovet{background:#fdeede;color:#b9701a} .tag.ch{background:var(--ai-soft);color:var(--ai)} .tag.pulse{background:var(--success-soft);color:var(--success)}
[data-theme="dark"] .tag.vb{background:#16263a;color:#7db0e6} [data-theme="dark"] .tag.sovet{background:#2c220f;color:#d99a4a}

/* человеческое имя + техническое мелким */
#screen-syncs .lcol{display:flex;flex-direction:column;min-width:0;line-height:1.22}
#screen-syncs .lcol .nm{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#screen-syncs .lcol .sub{font-size:10.5px;color:var(--faint);font-family:ui-monospace,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
#screen-syncs .sched{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--text-2);white-space:nowrap}

/* спарклайн последних запусков + «N назад» */
#screen-syncs .spark{display:inline-flex;gap:2px;align-items:center}
#screen-syncs .spark i{width:6px;height:15px;border-radius:2px;background:var(--success);display:inline-block}
#screen-syncs .spark i.e{background:var(--danger)} #screen-syncs .spark i.s{background:var(--warn)} #screen-syncs .spark i.o{background:var(--surface-3)}
#screen-syncs .ago{font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}
#screen-syncs .ago.stale{color:var(--warn);font-weight:600} #screen-syncs .ago.err{color:var(--danger);font-weight:600}

/* ───── КАЛЕНДАРЬ ДНЯ ───── */
#screen-syncs .cal{padding:6px 20px 18px}
#screen-syncs .cal-axis,#screen-syncs .tl-row{display:grid;grid-template-columns:260px 1fr;align-items:center}
#screen-syncs .cal-axis{height:26px;margin-bottom:2px}
#screen-syncs .axis-ticks{position:relative;height:100%;border-left:1px solid var(--border)}
#screen-syncs .axis-ticks span{position:absolute;top:6px;font-size:10.5px;color:var(--faint);font-weight:600;transform:translateX(-50%);font-variant-numeric:tabular-nums}
#screen-syncs .cal-sub{font-size:11px;color:var(--faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:14px 0 7px 4px;grid-column:1/3}
#screen-syncs .tl-row{height:46px;cursor:pointer}
#screen-syncs .tl-row:hover .tl-track{background:var(--surface-2)}
#screen-syncs .tl-label{display:flex;align-items:center;gap:9px;padding-right:14px;min-width:0}
#screen-syncs .tl-track{position:relative;height:46px;border-left:1px solid var(--border);
  background-image:repeating-linear-gradient(90deg,transparent,transparent calc(12.5% - 1px),var(--border) calc(12.5% - 1px),var(--border) 12.5%);
  background-position-x:-1px}
#screen-syncs .past{position:absolute;top:0;bottom:0;left:0;width:var(--now);background:linear-gradient(90deg,transparent,rgba(120,124,142,.05))}
#screen-syncs .nowline{position:absolute;top:-2px;bottom:-2px;left:var(--now);width:2px;background:var(--accent);z-index:4;border-radius:2px}
#screen-syncs .nowline.lab::after{content:"сейчас";position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 6px;border-radius:5px;white-space:nowrap}
#screen-syncs .band{position:absolute;top:50%;transform:translateY(-50%);height:9px;border-radius:999px;background:var(--success-soft);
  background-image:radial-gradient(circle,var(--success) 1.7px,transparent 2px);background-size:20px 9px;background-repeat:repeat-x}
#screen-syncs .band.amber{background-color:var(--warn-soft);background-image:radial-gradient(circle,var(--warn) 1.7px,transparent 2px)}
#screen-syncs .band.dead{background-color:var(--surface-3);background-image:radial-gradient(circle,var(--faint) 1.5px,transparent 2px);opacity:.7}
#screen-syncs .band.future{background-color:transparent;background-image:radial-gradient(circle,var(--faint) 1.3px,transparent 2px);opacity:.5}
#screen-syncs .band-fail{position:absolute;top:50%;transform:translateY(-50%);height:9px;border-radius:999px;background-color:var(--danger-soft);background-image:radial-gradient(circle,var(--danger) 1.9px,transparent 2px);background-size:18px 9px;background-repeat:repeat-x}
#screen-syncs .band-stop{position:absolute;width:2px;height:24px;top:50%;transform:translate(-50%,-50%);background:var(--danger);border-radius:2px}
#screen-syncs .mk{position:absolute;top:50%;width:13px;height:13px;transform:translate(-50%,-50%) rotate(45deg);border-radius:3px;z-index:3;box-shadow:0 0 0 4px var(--surface)}
#screen-syncs .mk.green{background:var(--success)} #screen-syncs .mk.amber{background:var(--warn)} #screen-syncs .mk.red{background:var(--danger)}
#screen-syncs .mk.future{background:var(--surface);border:2px solid var(--accent)} #screen-syncs .mk.gfaint{background:var(--surface);border:2px dashed var(--faint)}
#screen-syncs .mk-t{position:absolute;top:50%;transform:translate(-50%,-50%);margin-top:15px;font-size:10px;color:var(--faint);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
#screen-syncs .cal-legend{display:flex;gap:16px;align-items:center;font-size:11.5px;color:var(--muted);flex-wrap:wrap;padding:16px 4px 0}
#screen-syncs .cal-legend span{display:inline-flex;align-items:center;gap:6px}
#screen-syncs .cal-legend .mini{width:12px;height:12px;border-radius:3px;transform:rotate(45deg)}

/* ───── Модалка истории задачи (overlay #sync-modal живёт вне #screen-syncs) ───── */
#sync-modal{position:fixed;inset:0;background:rgba(10,12,20,.5);display:none;align-items:flex-start;justify-content:center;padding:54px 20px;z-index:50}
[data-theme="dark"] #sync-modal{background:rgba(0,0,0,.62)}
#sync-modal.open{display:flex}
#sync-modal .modal{width:700px;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-lg);max-height:86vh;overflow:auto}
#sync-modal .modal-head{display:flex;align-items:center;gap:11px;padding:18px 22px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:2;flex-wrap:wrap}
#sync-modal .modal-head .mt{font-size:16px;font-weight:680;letter-spacing:-.01em}
#sync-modal .modal-head .msub{font-size:11.5px;color:var(--faint);font-family:ui-monospace,Menlo,Consolas,monospace}
#sync-modal .modal-x{margin-left:auto;width:32px;height:32px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text-2);cursor:pointer;display:grid;place-items:center;font-size:16px}
#sync-modal .modal-x:hover{background:var(--surface-2)}
#sync-modal .meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 20px;padding:18px 22px;border-bottom:1px solid var(--border)}
#sync-modal .meta .ml{font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
#sync-modal .meta .mv{font-size:13px;font-weight:600;margin-top:4px}
#sync-modal .meta .mv.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;font-weight:500;color:var(--text-2)}
#sync-modal .sec{padding:18px 22px;border-bottom:1px solid var(--border)}
#sync-modal .sec:last-child{border-bottom:none}
#sync-modal .sec h4{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:600;margin-bottom:12px}
#sync-modal .why{font-size:13.5px;line-height:1.6;color:var(--text-1);margin:0}
#sync-modal .why b{font-weight:650;color:var(--text-1)}
#sync-modal .heat{display:flex;gap:3px;flex-wrap:wrap}
#sync-modal .heat i{width:15px;height:15px;border-radius:3px;background:var(--success)}
#sync-modal .heat i.e{background:var(--danger)} #sync-modal .heat i.s{background:var(--warn)} #sync-modal .heat i.o{background:var(--surface-3)}
#sync-modal .heat-cap{font-size:11.5px;color:var(--muted);margin-top:9px}
#sync-modal .hist{width:100%;border-collapse:collapse;font-size:12.5px}
#sync-modal .hist td{padding:9px 6px;border-bottom:1px solid var(--border);vertical-align:top}
#sync-modal .hist tr:last-child td{border-bottom:none}
#sync-modal .hist .ht{font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap;width:78px}
#sync-modal .hist .hd{color:var(--faint);white-space:nowrap;width:54px;text-align:right;font-variant-numeric:tabular-nums}
#sync-modal .hist .hm{color:var(--text-2)}
#sync-modal .hist .hm.err{color:var(--danger);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}
#sync-modal .banner{display:flex;gap:10px;align-items:flex-start;background:var(--danger-soft);border:1px solid rgba(214,69,61,.22);border-radius:var(--r-sm);padding:11px 14px;font-size:12.5px;color:var(--danger)}
#sync-modal .banner b{font-weight:680}
