/* Трекер сборки — стили экрана, порт прототипа build-tracker.
   ВСЁ заскоуплено под .bt-screen: общие классы оболочки (.card/.btn/.bt/.back/.row)
   заняты в css/styles.css — без скоупа они бы конфликтовали в обе стороны.
   Палитра/переменные прототипа объявлены на .bt-screen (и dark — на
   html[data-theme="dark"] .bt-screen), тему даёт оболочка (data-theme на <html>). */

.bt-screen {
  --bg:#f7f8fa; --panel:#ffffff; --ink:#172b4d; --muted:#6b778c; --line:#ebecf0;
  --brand:#0052cc; --grad1:#5b6cff; --grad2:#9c5cff;
  --chip:#f1f2f4; --okbg:#e3fcef; --ok:#1f7a52; --warnbg:#fff7e6; --warn:#974f00;
  --proto:#3b82f6; --std:#22a06b; --service:#e0a020;
  --r:12px; --shadow:0 1px 2px rgba(9,30,66,.10),0 6px 16px rgba(9,30,66,.05);
  color:var(--ink); display:block; max-width:1040px; margin:0 auto;
}
html[data-theme="dark"] .bt-screen {
  --bg:#0e1320; --panel:#161d2e; --ink:#e8ecf6; --muted:#8b97ad; --line:#283350;
  --brand:#7aa2ff; --chip:#1d2740; --okbg:#10331f; --ok:#62d39a; --warnbg:#33260e; --warn:#e0b257;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 22px rgba(0,0,0,.32);
}

.bt-screen .bt-view { display:block; }
.bt-screen .bt-view[hidden] { display:none; }

.bt-screen .card { background:var(--panel); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); padding:22px; margin-bottom:18px; width:auto; max-width:none; }
.bt-screen .back { background:none; border:none; color:var(--brand); font-weight:600; font-size:14px; cursor:pointer; padding:0; margin-bottom:14px; display:block; }
.bt-screen .back:hover { text-decoration:underline; }

/* ── портфель ── */
.bt-screen .proj-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:16px; gap:12px; }
.bt-screen .pgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(248px,1fr)); gap:16px; }
.bt-screen .pcard { background:var(--panel); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:18px; cursor:pointer; transition:.14s; display:flex; flex-direction:column; gap:14px; }
.bt-screen .pcard:hover { border-color:var(--brand); transform:translateY(-2px); }
/* сброс протечки .ph (шапка панели Пульса: padding+border-bottom) */
.bt-screen .pcard .ph { display:flex; align-items:center; gap:12px; padding:0; border-bottom:none; }
.bt-screen .plogo { width:44px; height:44px; border-radius:11px; background:var(--chip); display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--brand); overflow:hidden; flex:none; font-size:18px; }
.bt-screen .plogo img { width:100%; height:100%; object-fit:cover; }
.bt-screen .pname { font-weight:800; font-size:16px; letter-spacing:-.01em; }
.bt-screen .pmeta { font-size:12.5px; color:var(--muted); }
.bt-screen .pstats { display:flex; align-items:center; gap:16px; }
.bt-screen .pmini { position:relative; flex:none; }
.bt-screen .pmini .pv { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.bt-screen .pnums { font-size:13px; color:var(--muted); line-height:1.6; }
.bt-screen .pnums b { color:var(--ink); }
.bt-screen .pcard.add { align-items:center; justify-content:center; border-style:dashed; color:var(--brand); font-weight:700; min-height:158px; font-size:15px; }
.bt-screen .pcard.add:hover { background:rgba(0,82,204,.04); }
.bt-screen .pstatus { font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; align-self:flex-start; }
.bt-screen .pstatus.s-dev { background:#eae6ff; color:#403294; }
.bt-screen .pstatus.s-service { background:#e3fcef; color:#006644; }
html[data-theme="dark"] .bt-screen .pstatus.s-dev { background:#241d44; color:#b9a8ff; }
html[data-theme="dark"] .bt-screen .pstatus.s-service { background:#0f3322; color:#6fe0a6; }
.bt-screen .pfilter { display:flex; gap:7px; flex-wrap:wrap; }
.bt-screen .fpill { font-size:12.5px; font-weight:600; padding:6px 13px; border-radius:20px; border:1px solid var(--line); background:var(--panel); color:var(--muted); cursor:pointer; transition:.13s; }
.bt-screen .fpill:hover { border-color:var(--brand); }
.bt-screen .fpill.on { background:var(--brand); color:#fff; border-color:var(--brand); }

/* ── новый проект / загрузка ── */
.bt-screen .ident { display:flex; gap:22px; align-items:flex-end; flex-wrap:wrap; }
.bt-screen .ident .col { flex:1; min-width:220px; }
.bt-screen label.fld { display:block; font-size:12px; color:var(--muted); margin:0 0 6px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.bt-screen input.txt { width:100%; border:1.5px solid var(--line); border-radius:9px; background:var(--bg); color:var(--ink); padding:11px 13px; font:15px inherit; transition:.15s; }
.bt-screen input.txt:focus { outline:none; border-color:var(--brand); background:var(--panel); box-shadow:0 0 0 3px rgba(0,82,204,.12); }
.bt-screen .logo-box { display:flex; align-items:center; gap:12px; }
.bt-screen .logo-prev { width:56px; height:56px; border-radius:14px; border:1.5px dashed var(--line); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:11px; overflow:hidden; background:var(--bg); flex:none; }
.bt-screen .logo-prev img { width:100%; height:100%; object-fit:cover; }
.bt-screen .logo-btn { font-size:13px; font-weight:600; color:var(--brand); background:var(--chip); border:none; border-radius:8px; padding:10px 14px; cursor:pointer; transition:.15s; }
.bt-screen .logo-btn:hover { filter:brightness(.96); }
.bt-screen .drop { border:2px dashed var(--line); border-radius:var(--r); padding:34px 20px; text-align:center; cursor:pointer; transition:.15s; color:var(--muted); margin-top:20px; }
.bt-screen .drop:hover { border-color:#c2cad8; }
.bt-screen .drop.hot { border-color:var(--brand); color:var(--brand); background:rgba(0,82,204,.06); }
.bt-screen .drop .ic { width:52px; height:52px; border-radius:50%; background:var(--chip); display:flex; align-items:center; justify-content:center; font-size:24px; margin:0 auto 12px; }
.bt-screen .drop b { color:var(--ink); font-size:15px; }
.bt-screen .drop .hint { font-size:13px; margin-top:5px; opacity:.85; }
.bt-screen .files { margin-top:14px; display:flex; flex-direction:column; gap:7px; }
.bt-screen .frow { display:flex; align-items:center; gap:11px; font-size:13.5px; background:var(--chip); border-radius:9px; padding:9px 12px; }
.bt-screen .frow .tag { font-size:11px; padding:2px 9px; border-radius:20px; font-weight:700; }
.bt-screen .tag.html { background:#e9f2ff; color:#0747a6; }
.bt-screen .tag.readme { background:#e3fcef; color:#006644; }
html[data-theme="dark"] .bt-screen .tag.html { background:#16264a; color:#9cc0ff; }
html[data-theme="dark"] .bt-screen .tag.readme { background:#0f3322; color:#6fe0a6; }
.bt-screen .frow .x { margin-left:auto; cursor:pointer; color:var(--muted); border:none; background:none; font-size:17px; line-height:1; }
.bt-screen .frow .x:hover { color:#de350b; }

.bt-screen .bt-actions { display:flex; gap:11px; align-items:center; flex-wrap:wrap; margin-top:20px; }
.bt-screen .btn { border:none; border-radius:10px; padding:12px 20px; font-size:14.5px; font-weight:700; cursor:pointer; transition:.15s; width:auto; margin-top:0; box-shadow:none; }
.bt-screen .btn-primary { background:linear-gradient(95deg,var(--grad1),var(--grad2)); color:#fff; box-shadow:0 4px 14px rgba(108,92,231,.32); }
.bt-screen .btn-primary:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 7px 20px rgba(108,92,231,.4); }
.bt-screen .btn-ghost { background:var(--chip); color:var(--ink); }
.bt-screen .btn-ghost:hover { filter:brightness(.96); }
.bt-screen .btn:disabled { opacity:.45; cursor:default; box-shadow:none; }

/* ── список блоков ── */
.bt-screen .totals { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.bt-screen .totals .logo-prev { width:46px; height:46px; border-radius:11px; border-style:solid; }
.bt-screen .cname { font-weight:800; font-size:18px; margin-right:4px; }
.bt-screen .stat { background:var(--chip); border-radius:11px; padding:11px 16px; min-width:112px; }
.bt-screen .stat .n { font-size:25px; font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.bt-screen .stat .l { color:var(--muted); font-size:12px; margin-top:2px; }
.bt-screen .stat.hl { background:linear-gradient(95deg,rgba(91,108,255,.12),rgba(156,92,255,.12)); border:1px solid rgba(108,92,231,.25); }
.bt-screen .stat.hl .n { color:var(--brand); }
.bt-screen .grp-h { margin:0 0 2px; font-weight:800; font-size:16px; display:flex; align-items:center; gap:8px; padding-left:11px; border-left:3px solid var(--accent-bt,#3b82f6); }
.bt-screen .grp-note { color:var(--muted); font-size:13px; margin:4px 0 4px 14px; }
.bt-screen #tabs { --accent-bt:var(--proto); }
.bt-screen #standard { --accent-bt:var(--std); }
.bt-screen #service { --accent-bt:var(--service); }
.bt-screen .grp-wrap { margin-top:30px; }
.bt-screen .grp-wrap:first-child { margin-top:0; }
.bt-screen .tab-h { display:flex; align-items:center; gap:9px; margin:18px 0 4px; font-weight:700; font-size:14.5px; }
.bt-screen .tab-h .pill { font-size:11.5px; color:var(--muted); font-weight:600; background:var(--chip); padding:2px 10px; border-radius:20px; }
/* Прогресс вкладки (чип статуса + N/M + полоска) — прижат вправо, в стиле строк блоков */
.bt-screen .tab-h > .ms { margin-left:auto; }
.bt-screen .tab-h .prog { flex:none; }
/* Сворачиваемые вкладки: по умолчанию видны только заголовки, блоки разворачиваются кликом */
.bt-screen .tab-h { cursor:pointer; user-select:none; }
.bt-screen .tab-h .chev { display:inline-block; width:10px; color:var(--muted); font-size:11px; transition:transform .12s; }
.bt-screen .tab-h .chev::before { content:"\25BE"; }                        /* ▾ развёрнуто */
.bt-screen .tab-group.collapsed .tab-h .chev { transform:rotate(-90deg); }  /* ▸ свёрнуто */
.bt-screen .tab-group.collapsed .tab-body { display:none; }
/* «×» удаление вкладки целиком в предпросмотре — цвет как у кнопки удаления блока .del */
.bt-screen .tab-del { margin-left:auto; background:none; border:none; color:var(--muted); font-size:18px; line-height:1; cursor:pointer; padding:2px 6px; border-radius:6px; }
.bt-screen .tab-del:hover { color:#de350b; background:rgba(222,53,11,.1); }
.bt-screen table { width:100%; border-collapse:collapse; }
.bt-screen thead th { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; text-align:left; padding:6px 9px; border-bottom:1.5px solid var(--line); }
.bt-screen tbody td { padding:3px 9px; border-bottom:1px solid var(--line); vertical-align:middle; }
.bt-screen tbody tr:hover { background:var(--chip); }
.bt-screen td input, .bt-screen td select { width:100%; border:1.5px solid transparent; background:transparent; color:var(--ink); border-radius:7px; padding:7px 8px; font:14px inherit; transition:.12s; }
.bt-screen td input:hover, .bt-screen td select:hover { border-color:var(--line); }
.bt-screen td input:focus, .bt-screen td select:focus { border-color:var(--brand); outline:none; background:var(--panel); box-shadow:0 0 0 3px rgba(0,82,204,.1); }
.bt-screen td.hrs { width:84px; }
.bt-screen td.hrs input { text-align:right; font-variant-numeric:tabular-nums; }
.bt-screen td.col-conf { width:62px; }
.bt-screen td.col-x { width:38px; }
.bt-screen .kind { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:8px; flex:none; vertical-align:middle; }
.bt-screen .kind.prototype { background:var(--proto); }
.bt-screen .kind.standard { background:var(--std); }
.bt-screen .kind.service { background:var(--service); }
.bt-screen .kind.inbox { background:#e0701a; }
.bt-screen .inbox-tag { font-size:10.5px; font-weight:700; background:#fff1e0; color:#9a4a00; padding:1px 8px; border-radius:20px; margin-left:7px; white-space:nowrap; }
html[data-theme="dark"] .bt-screen .inbox-tag { background:#3a2410; color:#e0a060; }
.bt-screen .name-cell { display:flex; align-items:center; }
.bt-screen .conf { font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
.bt-screen .del { border:none; background:transparent; color:var(--muted); cursor:pointer; font-size:17px; padding:2px 6px; border-radius:6px; line-height:1; }
.bt-screen .del:hover { color:#de350b; background:rgba(222,53,11,.1); }
.bt-screen .add { margin:7px 0 0 1px; font-size:13.5px; font-weight:600; color:var(--brand); background:none; border:none; cursor:pointer; padding:4px 0; }
.bt-screen .add:hover { text-decoration:underline; }

/* ── доска (Навигатор) ── */
.bt-screen .nav-card { display:flex; gap:26px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.bt-screen .gauge { position:relative; width:132px; height:132px; flex:none; }
.bt-screen .gauge svg { transform:rotate(-90deg); }
.bt-screen .gauge .gv { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.bt-screen .gauge .gn { font-size:30px; font-weight:800; letter-spacing:-.02em; }
.bt-screen .gauge .gl { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
.bt-screen .nav-mid { flex:1; min-width:240px; text-align:center; }
.bt-screen .nav-mid .bn { font-size:13px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.bt-screen .sfbar { display:flex; height:16px; border-radius:9px; overflow:hidden; margin:0 auto 8px; max-width:340px; }
.bt-screen .sfbar i { display:block; }
.bt-screen .sf-done { background:#22a06b; }
.bt-screen .sf-wip { background:#e0a020; }
.bt-screen .sf-left { background:#dfe1e6; }
html[data-theme="dark"] .bt-screen .sf-left { background:#2d3a57; }
.bt-screen .sflegend { font-size:12px; color:var(--muted); display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.bt-screen .sflegend b { color:var(--ink); }
.bt-screen .route { margin-top:14px; font-size:13px; color:var(--muted); text-align:center; }
.bt-screen .route .bar { position:relative; height:6px; background:var(--line); border-radius:4px; max-width:420px; margin:7px auto 5px; }
.bt-screen .route .bar i { position:absolute; left:0; top:0; height:100%; border-radius:4px; background:linear-gradient(90deg,var(--grad1),var(--grad2)); }
.bt-screen .route .flag { position:absolute; top:-7px; font-size:14px; transform:translateX(-50%); }
.bt-screen .eta-card { width:140px; flex:none; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; background:var(--chip); border-radius:16px; padding:20px 12px; }
.bt-screen .eta-flag { font-size:24px; line-height:1; }
.bt-screen .eta-date { font-size:23px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.bt-screen .eta-lbl { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
.bt-screen .board-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.bt-screen .seg { display:inline-flex; background:var(--chip); border-radius:9px; padding:3px; }
.bt-screen .seg-b { border:none; background:none; color:var(--muted); font-weight:600; font-size:13px; padding:7px 14px; border-radius:7px; cursor:pointer; }
.bt-screen .seg-b.on { background:var(--panel); color:var(--ink); box-shadow:0 1px 2px rgba(9,30,66,.15); }
.bt-screen .kanban { display:flex; gap:12px; overflow-x:auto; padding-bottom:6px; }
.bt-screen .kcol { flex:0 0 186px; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:10px; max-height:calc(100vh - 220px); overflow-y:auto; }
.bt-screen .kcol-h { font-weight:700; font-size:13px; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:6px; position:sticky; top:-10px; z-index:2; background:var(--bg); margin:-10px -10px 9px; padding:10px 10px 8px; }
.bt-screen .kcol-h .dotc { width:8px; height:8px; border-radius:50%; flex:none; }
.bt-screen .kc { background:var(--chip); border-radius:20px; padding:1px 8px; font-size:11px; color:var(--muted); font-weight:600; }
.bt-screen .kcard { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:9px 10px; margin-bottom:8px; cursor:pointer; box-shadow:0 1px 2px rgba(9,30,66,.08); transition:.12s; }
.bt-screen .kcard:hover { border-color:var(--brand); transform:translateY(-1px); }
.bt-screen .kc-tab { font-size:10.5px; color:var(--muted); font-weight:600; margin-bottom:3px; }
.bt-screen .kc-name { font-weight:600; font-size:13px; line-height:1.3; }
.bt-screen .kc-meta { font-size:11.5px; color:var(--muted); margin-top:4px; }
.bt-screen .kempty { color:var(--muted); font-size:12px; text-align:center; padding:8px 0; opacity:.55; }
.bt-screen .bcard { display:flex; align-items:center; gap:12px; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:11px 14px; margin-bottom:8px; cursor:pointer; transition:.13s; box-shadow:0 1px 2px rgba(9,30,66,.06); }
.bt-screen .bcard:hover { border-color:var(--brand); transform:translateX(2px); }
.bt-screen .bcard .bn { font-weight:600; flex:1; min-width:0; }
.bt-screen .bcard .bt-type { font-size:12px; color:var(--muted); }
.bt-screen .ms { font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.bt-screen .ms.m0 { background:#f1f2f4; color:#6b778c; }
.bt-screen .ms.m1, .bt-screen .ms.m2, .bt-screen .ms.m3 { background:#e9f2ff; color:#0747a6; }
.bt-screen .ms.m4 { background:#eae6ff; color:#403294; }
.bt-screen .ms.m5 { background:#fff7e6; color:#974f00; }
.bt-screen .ms.m6 { background:#e3fcef; color:#006644; }
html[data-theme="dark"] .bt-screen .ms.m0 { background:#222c44; color:#9fb0cc; }
html[data-theme="dark"] .bt-screen .ms.m1, html[data-theme="dark"] .bt-screen .ms.m2, html[data-theme="dark"] .bt-screen .ms.m3 { background:#16264a; color:#9cc0ff; }
html[data-theme="dark"] .bt-screen .ms.m4 { background:#241d44; color:#b9a8ff; }
html[data-theme="dark"] .bt-screen .ms.m5 { background:#33260e; color:#e0b257; }
html[data-theme="dark"] .bt-screen .ms.m6 { background:#0f3322; color:#6fe0a6; }
.bt-screen .prog { width:96px; flex:none; }
.bt-screen .prog .pt { font-size:11px; color:var(--muted); text-align:right; margin-bottom:3px; }
/* padding:0 — сброс протечки .pb (тело панели Пульса padding:18px 20px) */
.bt-screen .prog .pb { height:6px; padding:0; border-radius:4px; background:var(--line); overflow:hidden; }
.bt-screen .prog .pb i { display:block; height:100%; background:var(--std); border-radius:4px; }

/* ── модалка блока ── */
.bt-screen .bt-modal { position:fixed; inset:0; background:rgba(9,30,66,.55); display:flex; align-items:flex-start; justify-content:center; padding:40px 18px; z-index:1000; overflow:auto; }
.bt-screen .bt-modal[hidden] { display:none; }
.bt-screen .modal { background:var(--panel); border-radius:16px; box-shadow:0 18px 60px rgba(9,30,66,.4); max-width:620px; width:100%; padding:24px; }
.bt-screen .modal .mh { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.bt-screen .modal .mt { font-size:19px; font-weight:800; letter-spacing:-.01em; }
.bt-screen .modal .msub { color:var(--muted); font-size:13px; margin-top:2px; }
.bt-screen .modal .close { border:none; background:var(--chip); color:var(--muted); width:32px; height:32px; border-radius:9px; font-size:18px; cursor:pointer; flex:none; }
.bt-screen .modal .close:hover { color:var(--ink); }
.bt-screen .stepper { display:flex; align-items:center; gap:0; margin:18px 0 6px; }
.bt-screen .stepper .st { flex:1; text-align:center; position:relative; font-size:11.5px; font-weight:700; color:var(--muted); }
.bt-screen .stepper .dot { width:18px; height:18px; border-radius:50%; background:var(--line); margin:0 auto 6px; border:3px solid var(--panel); position:relative; z-index:2; }
.bt-screen .stepper .st.done .dot { background:var(--std); }
.bt-screen .stepper .st.cur .dot { background:var(--brand); }
.bt-screen .stepper .st.cur { color:var(--brand); }
.bt-screen .stepper .st.done { color:var(--std); }
.bt-screen .stepper .st::before { content:""; position:absolute; top:9px; left:-50%; width:100%; height:3px; background:var(--line); z-index:1; }
.bt-screen .stepper .st:first-child::before { display:none; }
.bt-screen .stepper .st.done::before, .bt-screen .stepper .st.cur::before { background:var(--std); }
.bt-screen .clh { font-weight:800; font-size:14px; margin:20px 0 3px; }
.bt-screen .clnote { color:var(--muted); font-size:12.5px; margin:0 0 12px; }
.bt-screen .cl { list-style:none; margin:0; padding:0; }
.bt-screen .cl li { display:flex; align-items:center; gap:11px; padding:9px 0; border-bottom:1px solid var(--line); font-size:14px; }
.bt-screen .cl li:last-child { border-bottom:none; }
.bt-screen .ck { width:22px; height:22px; border-radius:7px; flex:none; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; }
.bt-screen .ck.done { background:var(--okbg); color:var(--ok); }
.bt-screen .ck.wip { background:var(--warnbg); color:var(--warn); }
.bt-screen .ck.off { background:var(--chip); color:var(--muted); }
.bt-screen .cl .ct { flex:1; }
.bt-screen .cl li.off .ct { color:var(--muted); }
.bt-screen .cdate { font-size:12px; color:var(--muted); white-space:nowrap; min-width:62px; text-align:right; font-variant-numeric:tabular-nums; }
.bt-screen .branch-line { font-size:12.5px; color:var(--muted); margin-top:7px; }
.bt-screen .branch-line code { background:var(--chip); padding:2px 8px; border-radius:6px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--brand); font-size:12px; }
.bt-screen .src { font-size:11px; font-weight:700; padding:2px 9px; border-radius:20px; background:var(--chip); color:var(--muted); white-space:nowrap; }
.bt-screen .src.git { background:#e9f2ff; color:#0747a6; }
.bt-screen .src.codex { background:#eae6ff; color:#403294; }
.bt-screen .src.deploy { background:#fff7e6; color:#974f00; }
.bt-screen .src.obsidian { background:#e3fcef; color:#006644; }
.bt-screen .src.manual { background:var(--chip); color:var(--muted); }
html[data-theme="dark"] .bt-screen .src.git { background:#16264a; color:#9cc0ff; }
html[data-theme="dark"] .bt-screen .src.codex { background:#241d44; color:#b9a8ff; }
html[data-theme="dark"] .bt-screen .src.deploy { background:#33260e; color:#e0b257; }
html[data-theme="dark"] .bt-screen .src.obsidian { background:#0f3322; color:#6fe0a6; }

/* ── статус разбора / прочее ── */
.bt-screen #bt-status { margin-left:6px; color:var(--muted); font-size:13.5px; }
/* display:inline — сброс протечки .card .err{display:none} Пульса */
.bt-screen .err { color:#de350b; display:inline; }
.bt-screen .spinner { display:inline-block; width:15px; height:15px; border:2px solid var(--line); border-top-color:var(--brand); border-radius:50%; animation:bt-spin .7s linear infinite; vertical-align:-3px; margin-right:7px; }
@keyframes bt-spin { to { transform:rotate(360deg); } }
.bt-screen .hidden { display:none; }
.bt-screen .req { color:#de350b; }
.bt-screen .stage-btns { display:flex; gap:7px; flex-wrap:wrap; margin-top:14px; }
.bt-screen .stage-btns .sb { font-size:12px; font-weight:600; padding:6px 11px; border-radius:8px; border:1px solid var(--line); background:var(--panel); color:var(--muted); cursor:pointer; }
.bt-screen .stage-btns .sb:hover { border-color:var(--brand); color:var(--brand); }
.bt-screen .lifecycle-btn { font-size:12.5px; font-weight:600; padding:7px 13px; border-radius:9px; border:1px solid var(--line); background:var(--panel); color:var(--ink); cursor:pointer; }
.bt-screen .lifecycle-btn:hover { border-color:var(--brand); }
.bt-screen .no-data { color:var(--muted); text-align:center; padding:30px; }
