/* PULSE — модуль «Качество (СМК)».
 * Стили только содержимого модуля (вкладки, карточки, деревья, drawer,
 * график, мобильный мокап аудита). Оболочка PULSE (сайдбар/топбар) не
 * затрагивается — она уже есть в styles.css/voice.css. Все классы и id
 * с префиксом qms- во избежание конфликтов с остальным кабинетом.
 * Переменные объявлены не на :root, а на .qms-shell, чтобы не утекать
 * в остальное приложение. */

.qms-shell{
  --qms-plane:#F7F7F6; --qms-surface:#FFFFFF; --qms-surface-2:#F6F6F5; --qms-surface-3:#F1F1F1;
  --qms-ink:#0A0A0A; --qms-ink2:#6A6A6A; --qms-muted:#9A9A9A;
  --qms-hair:#ECECEC; --qms-hair2:#F2F2F1;
  --qms-accent:#5F8B6F; --qms-accent-2:#36694C; --qms-accent-wash:#EEF4EF;
  --qms-brass:#B28A50; --qms-brass-soft:#C9A25E; --qms-brass-wash:#F7F1E6;
  --qms-good:#36694C; --qms-good-mark:#5F8B6F; --qms-good-wash:#EEF4EF;
  --qms-warn:#8A6A33; --qms-warn-mark:#B28A50; --qms-warn-wash:#F7F1E6;
  --qms-crit:#8F5147; --qms-crit-mark:#B6736B; --qms-crit-wash:#F7EDEB;
  --qms-info-wash:#EEF4EF;
  --qms-shadow:none;
  --qms-shadow-lg:0 30px 70px rgba(10,10,10,.28);
  --qms-r:18px; --qms-r-s:12px;
  --qms-mono:"Cascadia Code","Consolas",ui-monospace,monospace;
  color:var(--qms-ink);
  font-size:14.5px;
  line-height:1.5;
}
@media (prefers-color-scheme: dark){
  .qms-shell{
    --qms-plane:#161616; --qms-surface:#1D1D1C; --qms-surface-2:#232322; --qms-surface-3:#2A2A28;
    --qms-ink:#F2F2F0; --qms-ink2:#B5B5B0; --qms-muted:#83837E;
    --qms-hair:#333331; --qms-hair2:#2B2B29;
    --qms-accent:#7FAE8F; --qms-accent-2:#9BC7AA; --qms-accent-wash:#1E2B22;
    --qms-brass:#D2AD73; --qms-brass-soft:#C9A25E; --qms-brass-wash:#2E2617;
    --qms-good:#8FCBA2; --qms-good-mark:#7FAE8F; --qms-good-wash:#1E2B22;
    --qms-warn:#E0B87B; --qms-warn-mark:#C9A25E; --qms-warn-wash:#2E2617;
    --qms-crit:#E0958A; --qms-crit-mark:#C88880; --qms-crit-wash:#332120;
    --qms-info-wash:#1E2B22;
    --qms-shadow-lg:0 30px 70px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"] .qms-shell{
  --qms-plane:#161616; --qms-surface:#1D1D1C; --qms-surface-2:#232322; --qms-surface-3:#2A2A28;
  --qms-ink:#F2F2F0; --qms-ink2:#B5B5B0; --qms-muted:#83837E;
  --qms-hair:#333331; --qms-hair2:#2B2B29;
  --qms-accent:#7FAE8F; --qms-accent-2:#9BC7AA; --qms-accent-wash:#1E2B22;
  --qms-brass:#D2AD73; --qms-brass-soft:#C9A25E; --qms-brass-wash:#2E2617;
  --qms-good:#8FCBA2; --qms-good-mark:#7FAE8F; --qms-good-wash:#1E2B22;
  --qms-warn:#E0B87B; --qms-warn-mark:#C9A25E; --qms-warn-wash:#2E2617;
  --qms-crit:#E0958A; --qms-crit-mark:#C88880; --qms-crit-wash:#332120;
  --qms-info-wash:#1E2B22;
  --qms-shadow-lg:0 30px 70px rgba(0,0,0,.55);
}
:root[data-theme="light"] .qms-shell{
  --qms-plane:#F7F7F6; --qms-surface:#FFFFFF; --qms-surface-2:#F6F6F5; --qms-surface-3:#F1F1F1;
  --qms-ink:#0A0A0A; --qms-ink2:#6A6A6A; --qms-muted:#9A9A9A;
  --qms-hair:#ECECEC; --qms-hair2:#F2F2F1;
  --qms-accent:#5F8B6F; --qms-accent-2:#36694C; --qms-accent-wash:#EEF4EF;
  --qms-good:#36694C; --qms-good-mark:#5F8B6F; --qms-good-wash:#EEF4EF;
  --qms-warn:#8A6A33; --qms-warn-mark:#B28A50; --qms-warn-wash:#F7F1E6;
  --qms-crit:#8F5147; --qms-crit-mark:#B6736B; --qms-crit-wash:#F7EDEB;
  --qms-info-wash:#EEF4EF;
}

.qms-shell *{ box-sizing:border-box; }
.qms-shell button{ font-family:inherit; }
.qms-mono{ font-family:var(--qms-mono); font-variant-numeric:tabular-nums; }
.qms-tnum{ font-variant-numeric:tabular-nums; }

/* модульная навигация (подвкладки Качества) */
.qms-tabs{ display:flex; gap:3px; flex-wrap:wrap; border-bottom:1px solid var(--qms-hair); margin-bottom:18px; }
.qms-tabs .qms-tab{ all:unset; cursor:pointer; padding:8px 14px 10px; font-size:13.5px; color:var(--qms-ink2);
  border-radius:9px 9px 0 0; border-bottom:2.5px solid transparent; margin-bottom:-1px; transition:color .15s; }
.qms-tabs .qms-tab:hover{ color:var(--qms-ink); }
.qms-tabs .qms-tab.qms-on{ color:var(--qms-accent); font-weight:650; border-bottom-color:var(--qms-accent); }
.qms-tabs .qms-tab:focus-visible{ outline:2px solid var(--qms-accent); outline-offset:-2px; }

.qms-wrap{ max-width:1160px; width:100%; }
.qms-view{ display:none; animation:qmsFade .3s ease; }
.qms-view.qms-on{ display:block; }
@keyframes qmsFade{ from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
@media (prefers-reduced-motion:reduce){ .qms-view.qms-on{ animation:none; } .qms-drawer{ transition:none!important; } }

.qms-title{ font-size:20px; margin:0 0 4px; font-weight:680; letter-spacing:-.3px; text-wrap:balance; color:var(--qms-ink); }
.qms-lead{ color:var(--qms-ink2); font-size:13.5px; max-width:70ch; margin:0 0 18px; }
.qms-hintline{ font-size:12px; color:var(--qms-muted); display:flex; align-items:center; gap:6px; margin:0 0 16px; }

.qms-grid{ display:grid; gap:14px; }
.qms-cols-4{ grid-template-columns:repeat(4,1fr); }
.qms-cols-3{ grid-template-columns:repeat(3,1fr); }
.qms-cols-2{ grid-template-columns:repeat(2,1fr); }
.qms-card{ background:var(--qms-surface); border:1px solid var(--qms-hair); border-radius:var(--qms-r); box-shadow:var(--qms-shadow); padding:17px; }
.qms-card.qms-pad-lg{ padding:20px 22px; }
.qms-card h3{ font-size:13.5px; margin:0 0 3px; font-weight:650; color:var(--qms-ink); }
.qms-card .qms-hint{ color:var(--qms-muted); font-size:11.5px; margin:0 0 12px; }
.qms-card-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px; }
.qms-card-head h3{ margin:0; }

.qms-clickable{ all:unset; display:block; width:100%; text-align:left; cursor:pointer; position:relative;
  transition:transform .12s,box-shadow .12s,border-color .12s; }
.qms-clickable:hover{ transform:translateY(-1px); box-shadow:0 4px 14px rgba(20,31,44,.10),0 10px 30px rgba(20,31,44,.08);
  border-color:color-mix(in srgb, var(--qms-accent) 35%, var(--qms-hair)); }
.qms-clickable:focus-visible{ outline:2px solid var(--qms-accent); outline-offset:2px; }
.qms-clickable::after{ content:"\203A"; position:absolute; right:13px; top:12px; color:var(--qms-muted); font-size:15px; opacity:0; transition:opacity .12s; }
.qms-clickable:hover::after{ opacity:.8; }

.qms-kpi{ position:relative; overflow:hidden; display:flex; flex-direction:column; }
.qms-kpi .qms-cap{ color:var(--qms-ink2); font-size:12px; font-weight:560; }
.qms-kpi .qms-val{ font-size:29px; font-weight:720; letter-spacing:-.9px; margin:7px 0 2px; line-height:1; color:var(--qms-ink); }
.qms-kpi .qms-val small{ font-size:15px; font-weight:600; color:var(--qms-muted); }
.qms-kpi .qms-sub{ font-size:11.5px; color:var(--qms-muted); }
.qms-kpi .qms-strip{ position:absolute; left:0; top:0; bottom:0; width:3px; }

.qms-pill{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:620; padding:2.5px 9px; border-radius:999px; white-space:nowrap; }
.qms-pill .qms-d{ width:6.5px; height:6.5px; border-radius:50%; }
.qms-pill.qms-good{ color:var(--qms-good); background:var(--qms-good-wash); } .qms-pill.qms-good .qms-d{ background:var(--qms-good-mark); }
.qms-pill.qms-warn{ color:var(--qms-warn); background:var(--qms-warn-wash); } .qms-pill.qms-warn .qms-d{ background:var(--qms-warn-mark); }
.qms-pill.qms-crit{ color:var(--qms-crit); background:var(--qms-crit-wash); } .qms-pill.qms-crit .qms-d{ background:var(--qms-crit-mark); }
.qms-pill.qms-info{ color:var(--qms-accent); background:var(--qms-info-wash); } .qms-pill.qms-info .qms-d{ background:var(--qms-accent); }
.qms-pill.qms-mut{ color:var(--qms-ink2); background:var(--qms-surface-3); } .qms-pill.qms-mut .qms-d{ background:var(--qms-muted); }

/* интерактивные полосы (отделы, KPI-бары) */
.qms-barrow{ all:unset; display:grid; grid-template-columns:170px 1fr 90px; align-items:center; gap:12px; padding:6px 8px;
  border-radius:8px; cursor:pointer; border:1px solid transparent; width:100%; box-sizing:border-box; }
.qms-barrow:hover{ background:var(--qms-surface-2); border-color:var(--qms-hair); }
.qms-barrow:focus-visible{ outline:2px solid var(--qms-accent); }
.qms-barrow .qms-lbl{ font-size:12.5px; color:var(--qms-ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.qms-track{ height:16px; background:var(--qms-surface-3); border-radius:5px; overflow:hidden; display:flex; }
.qms-track i{ height:100%; display:block; }
.qms-barrow .qms-num{ font-size:12px; text-align:right; color:var(--qms-ink); font-weight:620; display:flex; gap:7px; justify-content:flex-end; align-items:center; }
.qms-barrow .qms-num .qms-op{ color:var(--qms-crit); font-weight:700; }

/* дерево (drill-down) */
.qms-tree{ display:flex; flex-direction:column; gap:6px; }
.qms-tnode{ border:1px solid var(--qms-hair); border-radius:var(--qms-r-s); background:var(--qms-surface); overflow:hidden; }
.qms-tnode > .qms-thead{ all:unset; display:flex; align-items:center; gap:11px; padding:10px 14px; cursor:pointer; user-select:none; width:100%; box-sizing:border-box; }
.qms-tnode > .qms-thead:hover{ background:var(--qms-surface-2); }
.qms-tnode > .qms-thead .qms-tw{ width:16px; flex:0 0 16px; text-align:center; color:var(--qms-muted); font-size:11px; transition:transform .15s; }
.qms-tnode.qms-open > .qms-thead .qms-tw{ transform:rotate(90deg); }
.qms-tnode > .qms-thead .qms-tt{ font-weight:640; font-size:13.5px; color:var(--qms-ink); }
.qms-tnode > .qms-thead .qms-cnt{ margin-left:auto; display:flex; gap:6px; align-items:center; }
.qms-tnode > .qms-tbody{ display:none; padding:4px 10px 10px 26px; }
.qms-tnode.qms-open > .qms-tbody{ display:block; }
.qms-tnode .qms-tnode{ margin:6px 0; background:var(--qms-surface-2); }
.qms-tnode .qms-tnode .qms-tnode{ background:var(--qms-surface); }

.qms-rec{ all:unset; display:grid; grid-template-columns:14px 78px 1fr auto; gap:10px; align-items:center; padding:8px 10px;
  border-radius:8px; cursor:pointer; border:1px solid transparent; width:100%; box-sizing:border-box; }
.qms-rec:hover{ background:var(--qms-accent-wash); border-color:color-mix(in srgb, var(--qms-accent) 30%, transparent); }
.qms-rec .qms-st{ width:9px; height:9px; border-radius:50%; justify-self:center; }
.qms-rec .qms-dt{ font-family:var(--qms-mono); font-size:11px; color:var(--qms-muted); }
.qms-rec .qms-tx{ font-size:12.5px; color:var(--qms-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
.qms-rec .qms-dc{ font-size:11px; color:var(--qms-muted); white-space:nowrap; max-width:180px; overflow:hidden; text-overflow:ellipsis; }

/* строка фильтров */
.qms-frow{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.qms-fseg{ display:flex; background:var(--qms-surface); border:1px solid var(--qms-hair); border-radius:9px; overflow:hidden; }
.qms-fseg button{ all:unset; cursor:pointer; padding:6px 13px; font-size:12.5px; color:var(--qms-ink2); }
.qms-fseg button.qms-on{ background:var(--qms-accent); color:#fff; font-weight:640; }
.qms-fseg button:focus-visible{ outline:2px solid var(--qms-accent); outline-offset:-2px; }
.qms-fsearch{ flex:1; min-width:180px; max-width:340px; display:flex; align-items:center; gap:8px; background:var(--qms-surface);
  border:1px solid var(--qms-hair); border-radius:9px; padding:6px 12px; }
.qms-fsearch input{ all:unset; flex:1; font-size:12.5px; color:var(--qms-ink); }
.qms-fsearch .qms-gl{ color:var(--qms-muted); font-size:13px; }

/* ================= DRAWER ================= */
.qms-scrim{ position:fixed; inset:0; background:rgba(10,16,24,.45); opacity:0; pointer-events:none; transition:opacity .2s; z-index:960; }
.qms-scrim.qms-on{ opacity:1; pointer-events:auto; }
.qms-drawer{ position:fixed; top:0; right:0; bottom:0; width:min(520px,94vw); background:var(--qms-surface); z-index:961;
  box-shadow:var(--qms-shadow-lg); transform:translateX(105%); transition:transform .34s cubic-bezier(.22,1,.36,1);
  display:flex; flex-direction:column; border-left:1px solid var(--qms-hair); border-top:3px solid var(--qms-ink); }
.qms-drawer.qms-on{ transform:none; }
.qms-dhead{ display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid var(--qms-hair); flex:0 0 auto; }
.qms-dhead .qms-dback{ all:unset; cursor:pointer; width:30px; height:30px; border-radius:8px; display:grid; place-items:center; color:var(--qms-ink2); border:1px solid var(--qms-hair); }
.qms-dhead .qms-dback:hover{ background:var(--qms-surface-2); }
.qms-dhead .qms-dclose{ all:unset; cursor:pointer; margin-left:auto; width:30px; height:30px; border-radius:8px; display:grid; place-items:center; color:var(--qms-muted); font-size:15px; }
.qms-dhead .qms-dclose:hover{ background:var(--qms-surface-2); color:var(--qms-ink); }
.qms-dhead .qms-dttl{ font-size:15px; font-weight:680; line-height:1.25; color:var(--qms-ink); }
.qms-dhead .qms-dsub{ font-size:11.5px; color:var(--qms-muted); margin-top:1px; }
.qms-dbody{ overflow-y:auto; padding:18px 20px 30px; flex:1; }
.qms-dsec{ margin-bottom:16px; }
.qms-dlab{ font-size:10.5px; font-weight:700; letter-spacing:.9px; text-transform:uppercase; color:var(--qms-muted); margin-bottom:5px; }
.qms-dval{ font-size:13.5px; color:var(--qms-ink); }
.qms-dval.qms-big{ font-size:14.5px; line-height:1.55; }
.qms-dgrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
.qms-dbox{ background:var(--qms-surface-2); border:1px solid var(--qms-hair); border-radius:var(--qms-r-s); padding:13px 15px; margin-bottom:12px; }
.qms-dbox .qms-dlab{ margin-bottom:6px; }
.qms-dfoot{ padding:14px 20px; border-top:1px solid var(--qms-hair); display:flex; gap:9px; flex-wrap:wrap; flex:0 0 auto; background:var(--qms-surface-2); }
.qms-btn{ all:unset; cursor:pointer; padding:8px 16px; border-radius:9px; font-size:13px; font-weight:640; text-align:center; }
.qms-btn.qms-pri{ background:var(--qms-ink); color:#fff; }
.qms-btn.qms-pri:hover{ background:color-mix(in srgb, var(--qms-ink) 82%, #fff); }
.qms-btn.qms-pri:disabled{ opacity:.5; cursor:default; }
.qms-btn.qms-sec{ border:1px solid var(--qms-hair); color:var(--qms-ink2); background:var(--qms-surface); }
.qms-btn.qms-sec:hover{ background:var(--qms-surface-3); }
.qms-btn:focus-visible{ outline:2px solid var(--qms-accent); outline-offset:2px; }
.qms-mock-note{ font-size:11px; color:var(--qms-muted); align-self:center; margin-left:auto; }

/* карточки аудитов */
.qms-audit-row{ all:unset; display:grid; grid-template-columns:86px 1fr auto auto; gap:12px; align-items:center; padding:10px 12px;
  border-radius:9px; cursor:pointer; border:1px solid transparent; width:100%; box-sizing:border-box; }
.qms-audit-row:hover{ background:var(--qms-accent-wash); border-color:color-mix(in srgb, var(--qms-accent) 28%, transparent); }
.qms-audit-row .qms-ad{ font-family:var(--qms-mono); font-size:11.5px; color:var(--qms-muted); }
.qms-audit-row .qms-an{ font-size:13px; color:var(--qms-ink); font-weight:560; text-align:left; }
.qms-audit-row .qms-cnt{ display:flex; gap:6px; }

.qms-risk-item{ all:unset; display:grid; grid-template-columns:34px 1fr auto; gap:12px; align-items:center; padding:10px 10px;
  border-radius:9px; border:1px solid transparent; cursor:pointer; width:100%; box-sizing:border-box; }
.qms-risk-item:hover{ background:var(--qms-accent-wash); border-color:color-mix(in srgb, var(--qms-accent) 28%, transparent); }
.qms-rscore{ font-family:var(--qms-mono); font-weight:700; font-size:14px; width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:#fff; }
.qms-rname{ font-size:13px; color:var(--qms-ink); font-weight:540; text-align:left; }
.qms-rmeta{ font-size:11.5px; color:var(--qms-muted); margin-top:1px; text-align:left; }
.qms-rdept{ font-size:11.5px; color:var(--qms-ink2); white-space:nowrap; }

.qms-proc-item{ all:unset; display:block; border:1px solid var(--qms-hair); border-radius:var(--qms-r-s); padding:13px 15px;
  background:var(--qms-surface); cursor:pointer; transition:border-color .12s,transform .12s; width:100%; box-sizing:border-box; }
.qms-proc-item:hover{ border-color:color-mix(in srgb, var(--qms-accent) 40%, var(--qms-hair)); transform:translateY(-1px); }
.qms-proc-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.qms-proc-top .qms-pn{ font-weight:630; color:var(--qms-ink); font-size:13.5px; }
.qms-proc-meta{ display:flex; flex-wrap:wrap; gap:5px 14px; margin-top:6px; color:var(--qms-muted); font-size:11.5px; }
.qms-proc-meta b{ color:var(--qms-ink2); font-weight:560; }

.qms-goal{ all:unset; display:grid; grid-template-columns:1fr auto; gap:5px 14px; padding:13px 10px; border-bottom:1px solid var(--qms-hair2);
  align-items:center; cursor:pointer; border-radius:8px; width:100%; box-sizing:border-box; }
.qms-goal:hover{ background:var(--qms-surface-2); }
.qms-goal:last-child{ border-bottom:0; }
.qms-goal .qms-g-name{ font-size:13px; color:var(--qms-ink); font-weight:550; }
.qms-goal .qms-g-sub{ font-size:11.5px; color:var(--qms-muted); grid-column:1; margin-top:-2px; }
.qms-g-prog{ grid-column:1/-1; height:6px; background:var(--qms-surface-3); border-radius:5px; overflow:hidden; margin-top:3px; }
.qms-g-prog i{ display:block; height:100%; border-radius:5px; }

.qms-tbl-wrap{ overflow-x:auto; border:1px solid var(--qms-hair); border-radius:var(--qms-r); background:var(--qms-surface); }
.qms-tbl-wrap table{ border-collapse:collapse; width:100%; font-size:12.5px; min-width:640px; }
.qms-tbl-wrap thead th{ text-align:left; font-size:10.5px; letter-spacing:.5px; text-transform:uppercase; color:var(--qms-muted); font-weight:680;
  padding:11px 13px; border-bottom:1px solid var(--qms-hair); background:var(--qms-surface-2); }
.qms-tbl-wrap tbody td{ padding:10px 13px; border-bottom:1px solid var(--qms-hair2); color:var(--qms-ink2); vertical-align:middle; }
.qms-tbl-wrap tbody tr{ cursor:pointer; }
.qms-tbl-wrap tbody tr:hover{ background:var(--qms-accent-wash); }
.qms-tbl-wrap tbody tr:last-child td{ border-bottom:0; }
.qms-tbl-wrap td .qms-code{ font-family:var(--qms-mono); font-size:11px; color:var(--qms-ink); background:var(--qms-surface-3); padding:2px 7px; border-radius:5px; white-space:nowrap; }
.qms-tbl-wrap td.qms-name{ color:var(--qms-ink); font-weight:530; }

.qms-chart-svg{ width:100%; height:auto; display:block; overflow:visible; }
.qms-tip{ position:fixed; pointer-events:none; background:var(--qms-ink); color:#fff; border-radius:9px; padding:8px 12px; font-size:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.3); opacity:0; transition:opacity .12s; z-index:980; min-width:110px; border:1px solid rgba(255,255,255,.08); }
.qms-tip b{ font-size:14px; display:block; margin:2px 0; }
.qms-tip .qms-tl{ color:#93accc; font-size:10.5px; letter-spacing:.4px; text-transform:uppercase; }

.qms-callout{ display:flex; gap:12px; padding:14px 16px; border-radius:var(--qms-r-s); background:var(--qms-brass-wash);
  border:1px solid color-mix(in srgb, var(--qms-brass) 30%, transparent); margin-top:14px; }
.qms-callout .qms-ic{ color:var(--qms-brass); flex:0 0 18px; margin-top:1px; }
.qms-callout p{ margin:0; font-size:12.5px; color:var(--qms-ink2); } .qms-callout b{ color:var(--qms-ink); }

.qms-fnd{ display:flex; gap:10px; padding:9px 0; border-bottom:1px dashed var(--qms-hair2); font-size:13px; color:var(--qms-ink2); align-items:flex-start; }
.qms-fnd:last-child{ border-bottom:0; }
.qms-fnd .qms-ft{ flex:0 0 auto; margin-top:2px; }

.qms-hist-row{ display:grid; grid-template-columns:64px 1fr; gap:10px; padding:9px 0; border-bottom:1px dashed var(--qms-hair2); font-size:12.5px; }
.qms-hist-row:last-child{ border-bottom:0; }
.qms-hist-row .qms-hm{ font-family:var(--qms-mono); font-size:11px; color:var(--qms-muted); padding-top:2px; }
.qms-hist-row .qms-hf{ color:var(--qms-ink); }
.qms-hist-row .qms-hc{ color:var(--qms-muted); font-size:11.5px; margin-top:2px; }

.qms-empty{ color:var(--qms-muted); font-size:12.5px; padding:10px 2px; }

/* ============ мобильный мокап «Аудит с телефона» ============ */
.qms-mob-wrap{ display:grid; grid-template-columns:400px 1fr; gap:22px; align-items:start; }
.qms-phone{ width:390px; max-width:100%; background:#0A0A0A; border-radius:38px; padding:12px; box-shadow:var(--qms-shadow-lg); }
.qms-phone .qms-screen{ background:var(--qms-plane); border-radius:28px; overflow:hidden; height:720px; display:flex; flex-direction:column; position:relative; }
.qms-phone .qms-notch{ height:26px; display:flex; justify-content:center; align-items:center; flex:0 0 auto; }
.qms-phone .qms-notch i{ width:110px; height:18px; background:#0A0A0A; border-radius:0 0 14px 14px; display:block; }
.qms-mtop{ display:flex; align-items:center; gap:10px; padding:10px 16px; background:var(--qms-surface); border-bottom:1px solid var(--qms-hair); flex:0 0 auto; }
.qms-mtop .qms-mb{ all:unset; cursor:pointer; color:var(--qms-accent); font-size:14px; width:24px; }
.qms-mtop b{ font-size:14.5px; color:var(--qms-ink); }
.qms-mtop .qms-sub{ font-size:10.5px; color:var(--qms-muted); display:block; margin-top:0; }
.qms-mbody{ flex:1; overflow-y:auto; padding:14px 14px 80px; }
.qms-mtabs{ position:absolute; bottom:0; left:0; right:0; display:flex; background:var(--qms-surface); border-top:1px solid var(--qms-hair); padding:8px 6px 14px; }
.qms-mtabs .qms-mt{ flex:1; text-align:center; font-size:9.5px; color:var(--qms-muted); cursor:default; }
.qms-mtabs .qms-mt .qms-i{ display:block; font-size:16px; margin-bottom:2px; }
.qms-mtabs .qms-mt.qms-on{ color:var(--qms-accent); font-weight:700; }
.qms-mcard{ background:var(--qms-surface); border:1px solid var(--qms-hair); border-radius:12px; padding:13px 14px; margin-bottom:10px; box-shadow:var(--qms-shadow); }
.qms-mcard.qms-click{ all:unset; display:block; width:100%; box-sizing:border-box; cursor:pointer; background:var(--qms-surface); border:1px solid var(--qms-hair); border-radius:12px; padding:13px 14px; margin-bottom:10px; }
.qms-mcard.qms-click:active{ transform:scale(.985); }
.qms-mrole{ display:flex; align-items:center; gap:11px; }
.qms-mrole .qms-ri{ width:38px; height:38px; border-radius:10px; display:grid; place-items:center; font-size:17px; flex:0 0 38px; }
.qms-mrole b{ font-size:13.5px; display:block; color:var(--qms-ink); }
.qms-mrole span{ font-size:11px; color:var(--qms-muted); }
.qms-mchk{ display:flex; gap:10px; align-items:flex-start; padding:11px 0; border-bottom:1px dashed var(--qms-hair2); }
.qms-mchk:last-child{ border-bottom:0; }
.qms-mchk .qms-q{ flex:1; font-size:12.5px; color:var(--qms-ink); }
.qms-mchk .qms-btns{ display:flex; gap:5px; }
.qms-mchk .qms-cb{ all:unset; cursor:pointer; width:30px; height:30px; border-radius:8px; border:1.5px solid var(--qms-hair); display:grid; place-items:center; font-size:13px; color:var(--qms-muted); }
.qms-mchk .qms-cb.qms-ok.qms-on{ background:var(--qms-good-wash); border-color:var(--qms-good-mark); color:var(--qms-good); }
.qms-mchk .qms-cb.qms-no.qms-on{ background:var(--qms-crit-wash); border-color:var(--qms-crit-mark); color:var(--qms-crit); }
.qms-mnc{ background:var(--qms-crit-wash); border:1px solid color-mix(in srgb, var(--qms-crit) 30%, transparent); border-radius:9px; padding:10px 12px; margin-top:8px; }
.qms-mnc textarea{ width:100%; border:1px solid var(--qms-hair); border-radius:7px; background:var(--qms-surface); color:var(--qms-ink);
  font-family:inherit; font-size:12px; padding:8px; resize:none; box-sizing:border-box; }
.qms-mnc .qms-mrow{ display:flex; gap:8px; margin-top:7px; align-items:center; font-size:11px; color:var(--qms-muted); flex-wrap:wrap; }
.qms-mprog{ position:absolute; bottom:64px; left:0; right:0; padding:10px 14px; background:color-mix(in srgb, var(--qms-plane) 92%, transparent); backdrop-filter:blur(6px); border-top:1px solid var(--qms-hair); }
.qms-mprog .qms-pb{ height:6px; background:var(--qms-surface-3); border-radius:4px; overflow:hidden; margin-bottom:8px; }
.qms-mprog .qms-pb i{ display:block; height:100%; background:var(--qms-accent); border-radius:4px; transition:width .2s; }
.qms-mbtn{ all:unset; cursor:pointer; display:block; text-align:center; background:var(--qms-accent); color:#fff; font-weight:650; font-size:13px; border-radius:10px; padding:11px; width:100%; box-sizing:border-box; }
.qms-mbtn.qms-dis{ opacity:.45; cursor:default; }
.qms-mside h3{ margin:0 0 8px; font-size:15px; color:var(--qms-ink); }
.qms-mside p{ font-size:13px; color:var(--qms-ink2); margin:0 0 12px; max-width:52ch; }
.qms-mstep{ display:flex; gap:11px; margin-bottom:11px; font-size:13px; color:var(--qms-ink2); align-items:flex-start; }
.qms-mstep .qms-n{ flex:0 0 22px; height:22px; border-radius:50%; background:var(--qms-accent); color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; font-family:var(--qms-mono); }

@media (max-width:1060px){ .qms-mob-wrap{ grid-template-columns:1fr; } .qms-phone{ margin:0 auto; } }
@media (max-width:960px){
  .qms-cols-4{ grid-template-columns:repeat(2,1fr); }
  .qms-cols-3, .qms-cols-2{ grid-template-columns:1fr; }
  .qms-barrow{ grid-template-columns:120px 1fr 80px; }
}
@media (max-width:560px){
  .qms-cols-4{ grid-template-columns:1fr; }
  .qms-dgrid{ grid-template-columns:1fr; }
}

/* Блок «Похожие случаи» — подсказка вероятной причины несоответствия */
.qms-sim-row{ padding:9px 0; border-bottom:1px solid var(--qms-line,#ececf0); font-size:13px; color:var(--qms-ink); line-height:1.45; }
.qms-sim-row:last-child{ border-bottom:none; }
.qms-sim-meta{ color:var(--qms-muted,#8a92a0); font-size:12px; }
.qms-sim-act{ margin-top:6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
