/* Продолжение classic.css — блоки страниц старой панели. Отдельным файлом: в classic.css перед «Чисткой постов» не
   закрыт блок @media (max-width:640px), и всё, что дописано ниже него, действует только на узком экране.
   «ПП-генератор» (этап 5а): «Управление», карточки модерации, страница сообщества (pp/panel.py _pp_dashboard,
   _PPMOD_CSS, _pp_community_view). */
.ds-gen-meta{ font-size:11px; font-weight:600; color:var(--muted); letter-spacing:0; text-transform:none; }
.ds-gen-stalled{ background:var(--warn-bg); color:#8A5A12; border-radius:12px; padding:10px 14px; font-size:12.5px; font-weight:600; }
.ds-gen-legend{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 12px; }
.ds-gen-legend .lg{ display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:999px; background:var(--chip); font-size:12px; font-weight:700; cursor:pointer; user-select:none; }
.ds-gen-legend .lg.off{ opacity:.45; } .ds-gen-legend .sw{ width:10px; height:10px; border-radius:3px; display:inline-block; }
.ds-gen-legend .amt{ color:var(--muted); font-weight:600; }
.ds-gen-cname{ display:flex; align-items:center; gap:11px; min-width:0; }
.ds-gen-cname .tx{ min-width:0; } .ds-gen-cname .nm{ font-family:var(--f-display); font-weight:600; font-size:13.5px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ds-gen-cname .sub{ font-size:11px; color:var(--faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ds-gen-cname .sub .w{ color:#D2452B; } .ds-gen-cname .sub .off{ color:#B4B7BE; font-weight:700; }
.ds-gen-off{ opacity:.42; } .ds-gen-faint{ color:var(--faint); } .ds-gen-red{ color:#D2452B; font-weight:700; }
.ds-gen-star{ color:#9A5BC4; font-size:16px; } .ds-gen-person{ color:#8B8E97; font-size:17px; }
.ppmod-theme{ font-size:12px; font-weight:700; color:var(--muted); margin-bottom:6px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ppmod-new{ margin-left:8px; font-size:10.5px; font-weight:700; color:#1E8E5A; background:#1E8E5A16; padding:2px 8px; border-radius:999px; vertical-align:middle; white-space:nowrap; }
.ppmod-rub{ font-size:10.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#8E5BD6; background:#8E5BD614; padding:2px 8px; border-radius:6px; }
.ppmod-cost{ min-width:46px; height:46px; border-radius:50%; background:#EF5F3C14; color:#EF5F3C; display:grid; place-items:center; font-weight:800; font-size:12.5px; flex:none; padding:0 5px; font-variant-numeric:tabular-nums; }
.rwk-mark{ background:#FFDD70; border-radius:3px; padding:1px 2px; }
.rwk-note{ display:flex; align-items:flex-start; gap:8px; background:#FFF6E0; border:1px solid #F3D888; border-radius:11px; padding:10px 13px; font-size:13px; color:#7A6416; line-height:1.45; margin-top:10px; }
.ppcar{ position:relative; margin-top:13px; border-radius:14px; overflow:hidden; background:#F2F3F5; }
.ppcar-track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.ppcar-track::-webkit-scrollbar{ display:none; }
.ppcar-slide{ flex:0 0 100%; scroll-snap-align:start; position:relative; display:grid; place-items:center; }
.ppcar-slide img{ width:100%; max-height:540px; object-fit:contain; display:block; cursor:zoom-in; }
.ppcar-slide.rwk-bad{ outline:3px solid #E5484D; outline-offset:-3px; }
.ppcar-nav{ position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; background:#00000080; color:#fff; display:grid; place-items:center; cursor:pointer; z-index:2; user-select:none; }
.ppcar-nav:hover{ background:#000000c0; } .ppcar-prev{ left:10px; } .ppcar-next{ right:10px; }
.ppcar-count{ position:absolute; top:10px; left:10px; background:rgba(23,24,28,.82); color:#fff; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; z-index:2; pointer-events:none; }
.ppcar .rg{ position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; background:#000000b3; color:#fff; display:grid; place-items:center; z-index:2; opacity:.45; cursor:not-allowed; }
.ppcar .rg.rg2{ right:52px; }
.rwk-badge{ position:absolute; bottom:10px; left:10px; background:#E5484D; color:#fff; font-size:11px; font-weight:800; padding:3px 9px 3px 7px; border-radius:999px; z-index:2; }
.ds-gen-zoom img{ max-width:min(760px,100%); max-height:70vh; width:auto; height:auto; border-radius:12px; display:block; }
.ds-gen-more{ display:flex; justify-content:center; padding:10px; }
.ds-gen-more .q-btn{ color:var(--accent); font-weight:700; }
.ds-gen-block{ padding:18px 22px; border-bottom:1px solid #EFEFF1; display:flex; flex-direction:column; gap:6px; }
.ds-gen-block.tint{ background:#FBFBFC; }
.ds-gen-block .t{ font-family:var(--f-display); font-size:19px; font-weight:700; margin:2px 0 4px; }
.ds-gen-block .d{ font-size:12.5px; color:var(--muted); line-height:1.5; max-width:900px; }
.ds-gen-ctl{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:8px 0 4px; }
.ds-gen-tcard{ border:1px solid #E8E9EC; border-radius:14px; padding:16px 18px; margin-top:12px; background:#fff; }
.ds-gen-tcard .sec{ font-size:11px; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.4px; }
.ds-gen-tcard .ft{ font-size:17px; font-weight:800; line-height:1.35; margin:4px 0 6px; }
.ds-gen-tcard .ld{ font-size:13.5px; line-height:1.55; }
.ds-gen-tcard .acts{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.ds-gen-pill{ background:#EEF0F2; color:#5B616E; border-radius:999px; padding:3px 10px; font-size:11.5px; font-weight:700; white-space:nowrap; flex:none; }
.ds-gen-row{ display:flex; align-items:center; gap:16px; padding:15px 22px; border-bottom:1px solid var(--hair2); }
.ds-gen-row .tx{ font-size:14.5px; color:#22242A; line-height:1.42; flex:1; min-width:0; white-space:pre-wrap; word-break:break-word; }
.ds-gen-row .dt{ font-size:13px; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
.ds-gen-row .ic{ font-size:18px; color:var(--muted); }
.ds-gen-empty{ padding:26px 22px; color:var(--faint); font-size:14px; }
.ds-gen-na{ background:var(--neg-bg); border-radius:12px; padding:11px 14px; display:flex; flex-direction:column; gap:4px; }
.ds-gen-na .t{ font-size:12.5px; font-weight:600; } .ds-gen-na .acts{ display:flex; gap:8px; margin-top:6px; }
.ds-gen-chips{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; padding:14px 22px 0; }
.ds-gen-chip{ display:inline-flex; align-items:center; gap:8px; padding:5px 12px 5px 5px; border-radius:999px; background:var(--chip); font-size:13px; font-weight:600; cursor:pointer; user-select:none; }
.ds-gen-chip .sh{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:10px; font-weight:800; background:#E4E5E9; color:#4A4D55; }
.ds-gen-chip.on{ background:#17181C; color:#fff; } .ds-gen-chip.on .sh{ background:#EF5F3C; color:#fff; }
.ds-gen-shares{ padding:12px 22px 0; display:flex; flex-direction:column; gap:4px; max-width:640px; }
.ds-gen-share{ display:flex; align-items:center; gap:14px; } .ds-gen-share .nm{ width:230px; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ds-gen-share .bar{ flex:1; height:6px; border-radius:3px; background:#ECEDF0; overflow:hidden; } .ds-gen-share .bar i{ display:block; height:100%; background:var(--accent); }
.ds-gen-share .pc{ width:46px; text-align:right; font-weight:800; font-size:14px; }
.ds-gen-quick{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; background:#F6F6F8; border:1px solid #ECEDF0; border-radius:12px; padding:11px 16px; }
.ds-gen-ta textarea{ min-height:120px; max-height:300px; }
.ds-gen-exp{ border:1px solid #E7E8EC; border-radius:12px; }
.ds-gen-canon{ width:88px; border-radius:10px; border:1px solid #E4E5E9; cursor:zoom-in; }
.ds-gen-refs{ display:flex; gap:16px; flex-wrap:wrap; }
.ds-gen-ref{ display:flex; flex-direction:column; align-items:center; gap:6px; border:1px solid #EEEFF2; border-radius:12px; padding:10px; width:150px; font-size:12px; text-align:center; }
.ds-gen-stars{ display:flex; gap:12px; flex-wrap:wrap; max-height:230px; overflow:auto; }
.ds-gen-starc{ width:96px; display:flex; flex-direction:column; align-items:center; gap:6px; font-size:11.5px; text-align:center; }
.ds-gen-starc img{ width:88px; height:88px; border-radius:14px; object-fit:cover; background:#F2F3F5; }
.ds-gen-srow{ display:flex; align-items:center; gap:12px; padding:9px 4px; border-bottom:1px solid #EDEEF0; flex-wrap:wrap; }
.ds-gen-srow img{ width:38px; height:38px; border-radius:50%; object-fit:cover; background:#F2F3F5; }
.ds-gen-srow .tx{ flex:1; min-width:150px; } .ds-gen-srow .nm{ font-size:14px; font-weight:700; } .ds-gen-srow .sb{ font-size:11.5px; color:var(--muted); }
.ds-gen-box{ display:flex; align-items:center; gap:12px; padding:10px 12px; margin-bottom:12px; background:#FFF6F3; border:1px solid #FBD9CE; border-radius:12px; flex-wrap:wrap; }
.ds-gen-items{ display:flex; gap:16px; flex-wrap:wrap; padding:12px 14px; margin:8px 0; background:#F7F8FA; border-radius:12px; font-size:12.5px; font-weight:650; }
.ds-gen-list{ padding:6px 22px 18px; overflow-y:auto; max-height:70vh; }
.ds-gen-fact{ padding:11px 0; border-bottom:1px solid #F0F1F3; } .ds-gen-fact.dim{ opacity:.5; }
.ds-gen-fact .t{ font-size:13.5px; font-weight:650; line-height:1.45; } .ds-gen-fact .dg{ font-size:12px; line-height:1.5; margin-top:4px; }
.ds-gen-fact .q{ font-size:11.5px; color:#5b616e; line-height:1.45; margin-top:4px; font-style:italic; }
.ds-gen-fact .b{ font-size:11.5px; color:var(--muted); margin-top:4px; } .ds-gen-fact .b a{ color:var(--accent); }
.ds-gen-score{ font-size:11px; font-weight:700; color:#fff; border-radius:9px; padding:1px 7px; margin-right:6px; }
.ds-gen-dlg{ width:860px; max-width:96vw; max-height:90vh; display:flex; flex-direction:column; }
.ds-gen-head{ display:flex; align-items:center; gap:15px; margin:4px 0 12px; }
.ds-gen-head .tx{ flex:1; min-width:0; } .ds-gen-head .nm{ font-family:var(--f-display); font-weight:700; font-size:22px; }
@media (max-width:640px){ .ds-gen-row{ padding:12px 14px; flex-wrap:wrap; } .ds-gen-block{ padding:14px; } .ds-gen-share .nm{ width:120px; } }
.ds-gen-cname .tx{ display:flex; flex-direction:column; gap:1px; } .ds-gen-cname .nm, .ds-gen-cname .sub{ display:block; }
.ds-gen-quick .q-select{ min-width:130px; } .ds-gen-ctl .q-select{ min-width:260px; }
/* ПП-генератор 5в: модерация своих постов (pp/panel.py _PPMOD_CSS старой) */
.ppcar .rg.on{ opacity:1; cursor:pointer; }
.vcard{ transition:opacity .3s, transform .3s; }
.vcard.vcard--bye{ opacity:0; transform:translateY(-6px) scale(.97); pointer-events:none; }
.rwk-lbl{ font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--muted); }
.rwk-text{ font-size:14.5px; line-height:1.75; color:var(--ink); }
.rwk-sent{ display:inline; cursor:pointer; border-radius:3px; padding:1px; }
.rwk-sent:hover{ background:#F1F2F4; }
.rwk-sent.rwk-on{ background:#FFDD70; }
.rwk-thumbs{ display:flex; gap:8px; flex-wrap:wrap; }
.rwk-thumb{ width:76px; height:76px; border-radius:10px; overflow:hidden; cursor:pointer; border:3px solid transparent; flex:none; }
.rwk-thumb img{ width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.rwk-thumb.rwk-on{ border-color:#E5484D; }
.ds-gen-modbody{ flex:1; min-height:0; overflow-y:auto; padding:16px 24px; display:flex; flex-direction:column; gap:14px; }
.ds-gen-modfoot{ display:flex; gap:8px; justify-content:flex-end; padding:14px 24px; border-top:1px solid #EFF0F2; }
.ds-gen-moddlg{ width:600px; max-width:96vw; max-height:90vh; display:flex; flex-direction:column; }
.vedmedia{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.vedthumb{ position:relative; width:96px; height:96px; border-radius:12px; overflow:hidden; background:#E9EAEC; flex:none; }
.vedthumb img{ width:100%; height:100%; object-fit:cover; display:block; cursor:zoom-in; }
.vedthumb .x, .vedthumb .dl{ position:absolute; right:4px; width:20px; height:20px; border-radius:50%; background:#000000b3; color:#fff; display:grid; place-items:center; cursor:pointer; text-decoration:none; font-size:13px; }
.vedthumb .x{ top:4px; }
.vedthumb .dl{ bottom:4px; }
.vedthumb .dl i{ font-size:13px; }
.ds-gen-strip{ max-width:720px; background:#FFF4F0; border:1px solid #F6D8CE; border-radius:12px; padding:10px 14px; margin-bottom:12px; }
.ds-gen-strip .ln{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink); }
.ds-gen-strip .ln .grow{ flex:1; min-width:0; }
.ds-gen-strip .err{ font-size:11.5px; color:#B3261E; line-height:1.4; }
.ds-gen-own{ border-top:1px solid #EFEFF1; padding:14px 22px; display:flex; flex-direction:column; gap:10px; }
.ds-gen-copy{ white-space:pre-wrap; font-size:14px; line-height:1.6; background:#F7F7F8; border-radius:10px; padding:12px 14px; max-height:50vh; overflow:auto; }
/* «Перехват вирала» (pp/panel.py _HIJACK_CSS): плашки тумблеров, карточки строк вкладок, шаблоны, диалоги. */
.ds-hjswitch{ display:flex; align-items:center; gap:14px; padding:14px 18px; }
.ds-hjswitch .ic{ font-size:22px; color:#B4B6BD; flex:none; } .ds-hjswitch.t-on .ic{ color:#C2410C; }
.ds-hjswitch.t-warn .ic{ color:#C2410C; }
.ds-hjswitch .tx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.ds-hjswitch .t{ font-weight:700; font-size:14px; color:var(--ink); }
.ds-hjtop{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:6px 0 2px; } .ds-hjtop .sp{ flex:1; }
.ds-hjchart{ margin-top:4px; }
.ds-hjtabs{ display:flex; flex-direction:column; gap:10px; margin-top:4px; }
.ds-hjlist{ display:flex; flex-direction:column; gap:9px; }
.ds-hjrow{ display:flex; align-items:center; gap:13px; padding:13px 15px; border:1px solid #EDEEF0; border-radius:14px; background:#fff; flex:1; min-width:0; }
.ds-hjrow .info{ flex:1; min-width:0; }
.ds-hjrow .nm{ font-weight:700; font-size:14px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ds-hjrow .sub{ font-size:12px; color:#8B8E97; margin-top:2px; } .ds-hjrow .sub a{ color:#2E6FD0; text-decoration:none; }
.ds-hjrow .sub .err{ color:#C2410C; }
.ds-hjrow .metric{ text-align:right; font-variant-numeric:tabular-nums; flex:none; }
.ds-hjrow .metric b{ font-size:15px; color:var(--ink); } .ds-hjrow .metric b.gain{ color:#2E9E67; font-weight:800; }
.ds-hjrow .metric span{ display:block; font-size:11px; color:#8B8E97; margin-top:1px; }
.ds-hjline{ display:flex; align-items:center; gap:10px; } .ds-hjline > .ds-hjrow{ flex:1; }
.ds-hjempty{ color:#8B8E97; font-size:14px; padding:26px; text-align:center; border:1px dashed #E3E4E7; border-radius:14px; }
.ds-hjreason{ font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:#F1F1F3; color:#6B6E76; }
.ds-hjmore{ align-self:center; }
.ds-hjtpl{ padding:16px 18px; margin-bottom:14px; } .ds-hjtpl.off{ opacity:.6; }
.ds-hjtpl .thumbs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.ds-hjtpl .thumbs img{ width:70px; height:70px; object-fit:cover; border-radius:10px; }
.ds-hjtpl .ttext{ font-size:13px; color:#3A3D45; line-height:1.5; white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.ds-hjtpl .ttext.none{ color:#B4B6BD; }
.ds-hjtpl .tfoot{ display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap; } .ds-hjtpl .tfoot .sp{ flex:1; }
.ds-hjmode{ font-size:11.5px; font-weight:700; padding:4px 11px; border-radius:999px; background:#F1F1F3; color:#6B6E76; }
.q-dialog .q-card.ds-hjdlg{ width:640px; max-width:96vw; max-height:90vh; display:flex; flex-direction:column; }
.ds-hjdlgbody{ flex:1; min-height:0; overflow-y:auto; padding:18px 24px; display:flex; flex-direction:column; gap:10px; }
.ds-hjdlgbody > .ds-seg{ align-self:flex-start; }
.ds-hjdlgfoot{ display:flex; justify-content:flex-end; gap:10px; padding:14px 24px; border-top:1px solid #EDEEF0; }
.ds-hjdlgrow{ display:flex; margin:0 0 10px; }
.ds-hjfields{ display:flex; gap:12px; flex-wrap:wrap; } .ds-hjfields .ds-field{ flex:1 1 220px; }
.ds-hjthumbs{ display:flex; gap:10px; flex-wrap:wrap; }
.ds-hjthumbs .tile{ position:relative; width:84px; height:84px; } .ds-hjthumbs .img{ width:84px; height:84px; border-radius:10px; }
.ds-hjthumbs .x{ position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%; background:#DC4B4B; color:#fff; display:grid; place-items:center; cursor:pointer; font-size:13px; }
.ds-hjthumbs .x .q-icon{ font-size:13px; }
@media (max-width:640px){ .ds-hjrow{ padding:11px 12px; } .ds-hjdlgbody{ padding:12px 16px; } .ds-hjline{ flex-wrap:wrap; } }
/* ПП-генератор: рецепт сообщества — пять шагов (решение 0024) */
.ds-rcp{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:10px; margin:10px 0 14px; }
.ds-rcp-step{ border:1px solid #ECEDF0; border-radius:12px; padding:12px 14px; background:#FBFBFC; display:flex; flex-direction:column; gap:4px; min-width:0; }
.ds-rcp-step .n{ font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.03em; text-transform:uppercase; }
.ds-rcp-step .k{ font-size:13.5px; font-weight:700; line-height:1.35; }
.ds-rcp-step .l{ font-size:12px; color:#5b616e; line-height:1.4; overflow-wrap:anywhere; }
.ds-rcp-step .o{ margin-top:auto; align-self:flex-start; font-size:11px; font-weight:700; padding:2px 9px; border-radius:999px; background:#ECEDF0; color:#4A4D55; }
.ds-rcp-step .o.own{ background:#FBF1DD; color:#8A5A12; } .ds-rcp-step .o.edit{ background:#E4F4EC; color:#1E7A4C; }
@media (max-width:900px){ .ds-rcp{ grid-template-columns:1fr; } }
.ds-rcp-num{ min-width:200px; }
/* «Живая аудитория»: подготовка к объединению (решение 0026) — кнопка у пары расчёта */
.ds-mrgcell{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; }
.ds-btn.ds-mrgprep{ min-height:28px; padding:0 10px; font-size:12px; }
.ds-btn.ds-mrgprep.disabled{ opacity:.45 !important; filter:grayscale(1); }
/* блок «Объединения» (дополнение 08.10): пара — одна строка-миниатюра: имена, мини-степпер, строка шага, кнопки */
.ds-mrg{ display:flex; flex-direction:column; gap:10px; }
.ds-mrghead{ display:flex; align-items:baseline; gap:6px 14px; flex-wrap:wrap; }
.ds-mrgcount{ font-size:13px; font-weight:600; color:var(--muted); }
.ds-mrgnote{ font-size:14px; line-height:1.5; color:var(--muted); }
.ds-mrglist{ container-type:inline-size; }
.ds-mrglist > .ds-rows{ display:grid; grid-template-columns:minmax(220px,max-content) minmax(0,1fr) auto; }
.ds-mrgr{ grid-column:1 / -1; display:grid; grid-template-columns:subgrid; grid-template-areas:"pr st acts";
  align-items:center; gap:10px 24px; padding:14px 2px; border-top:1px solid var(--hair2); }
.ds-mrgr:first-child{ border-top:0; }
.ds-mrgr.off .pr,.ds-mrgr.off .stc{ opacity:.6; }
.ds-mrgr > .pr{ grid-area:pr; min-width:0; }
.ds-mrgr > .stc{ grid-area:st; min-width:0; display:flex; flex-direction:column; gap:7px; }
.ds-mrgr > .acts{ grid-area:acts; display:flex; gap:8px; align-items:center; justify-content:flex-end; }
.ds-mrgr > .acts .sec{ display:flex; gap:8px; align-items:center; }
.ds-mrgpair{ display:flex; align-items:center; gap:8px; min-width:0; }
.ds-mrgpair .ds-audwho{ flex:0 1 auto; min-width:0; }
.ds-mrgpair .sx{ display:flex; align-items:center; gap:8px; min-width:0; flex:0 1 auto; }
.ds-mrgpair .ds-audwho .nm{ font-family:var(--f-display); font-size:15px; font-weight:600; color:var(--ink); }
.ds-mrgpair .ar{ flex:none; color:var(--faint); font-size:15px; cursor:help; }
.ds-mrgr .ln{ font-size:14px; line-height:1.45; color:var(--ink2); overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow-wrap:anywhere; }
.ds-mrgr .ln b{ font-weight:700; color:var(--ink); } .ds-mrgr .ln b.failed{ color:var(--neg); }
.ds-mrgr .ln .er{ font-weight:600; color:var(--neg); }
.ds-mrgr.ok .ln b{ color:#1E7A4C; }
.ds-btn.ds-mrgmore.q-btn{ min-width:40px; padding:0 8px; }
.q-menu .q-item.neg{ color:var(--neg); }
/* мини-степпер: кружки 14px на линии; цвета — как у окна «Подробно» */
.ds-mrgmini{ display:flex; align-items:center; }
.ds-mrgmini .st{ position:relative; display:flex; align-items:center; padding-left:12px; }
.ds-mrgmini .st:first-child{ padding-left:0; }
.ds-mrgmini .st::before{ content:""; position:absolute; left:0; top:50%; width:12px; height:2px; margin-top:-1px; background:#E3E4E8; }
.ds-mrgmini .st:first-child::before{ display:none; } .ds-mrgmini .st.ln::before{ background:var(--pos); }
.ds-mrgmini .dot,.ds-mrgv .dot{ position:relative; z-index:1; box-sizing:border-box; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--surface); border:2px solid #DADCE1; flex:none; }
.ds-mrgmini .dot{ width:14px; height:14px; cursor:default; }
.ds-mrgmini .dot svg,.ds-mrgv .dot svg{ fill:none; stroke:#fff; stroke-linecap:round; stroke-linejoin:round; }
.ds-mrgmini .dot svg{ width:9px; height:9px; stroke-width:3.6; }
.ds-mrgmini .done .dot,.ds-mrgv .done .dot{ background:var(--pos); border-color:var(--pos); }
.ds-mrgmini .failed .dot,.ds-mrgv .failed .dot{ background:var(--neg); border-color:var(--neg); box-shadow:0 0 0 3px var(--neg-bg); }
.ds-mrgmini .cancel .dot,.ds-mrgv .cancel .dot{ background:var(--faint); border-color:var(--faint); }
.ds-mrgmini .current .dot,.ds-mrgv .current .dot{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg); }
.ds-mrgmini .current .dot i,.ds-mrgv .current .dot i{ border-radius:50%; background:var(--accent); animation:ds-mpulse 1.8s ease-in-out infinite; }
.ds-mrgmini .current .dot i{ width:6px; height:6px; }
.ds-mrgmini .skip .dot,.ds-mrgv .skip .dot{ border-style:dashed; }
@keyframes ds-mpulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(.6); opacity:.5; } }
@media (prefers-reduced-motion:reduce){ .ds-mrgmini .current .dot i,.ds-mrgv .current .dot i{ animation:none; } }
@container (max-width:860px){
  .ds-mrglist > .ds-rows{ grid-template-columns:minmax(0,1fr) auto; }
  .ds-mrgr .ds-mrgpair{ flex-wrap:wrap; row-gap:6px; }
  .ds-mrgr{ grid-template-areas:"pr acts" "st st"; gap:10px 16px; }
}
@container (max-width:560px){
  .ds-mrglist > .ds-rows{ grid-template-columns:minmax(0,1fr); }
  .ds-mrgr{ grid-template-areas:"pr" "st" "acts"; gap:10px; padding:16px 0; }
  .ds-mrgr > .acts{ justify-content:flex-start; flex-wrap:wrap; }
  .ds-mrgr .ds-mrgpair{ flex-wrap:wrap; row-gap:6px; }
}
/* окно «Подробно»: шапка — пара и фраза; шаги по вертикали; история свёрнута */
.q-dialog .q-card.ds-clndlg.ds-mrgdlg{ width:720px; }
.ds-mrgdh .tx{ display:flex; flex-direction:column; gap:8px; }
.ds-mrgdh .ds-mrgpair{ flex-wrap:wrap; row-gap:6px; } .ds-mrgdh .ds-mrgpair .ds-audwho .nm{ font-size:16px; }
.ds-mrgdh .s{ font-size:14px; line-height:1.5; color:var(--ink2); margin-top:0; }
.ds-mrgdlg .ds-clndlgbody{ gap:18px; padding-top:20px; }
.ds-mrgv{ display:flex; flex-direction:column; }
.ds-mrgv .vs{ position:relative; display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:14px; padding-bottom:18px; }
.ds-mrgv .vs:last-child{ padding-bottom:0; }
.ds-mrgv .vs:not(:last-child)::after{ content:""; position:absolute; left:13px; top:32px; bottom:4px; width:2px; border-radius:2px; background:#E6E7EB; }
.ds-mrgv .vs.done:not(:last-child)::after{ background:var(--pos); }
.ds-mrgv .dot{ width:28px; height:28px; }
.ds-mrgv .dot svg{ width:15px; height:15px; stroke-width:2.8; }
.ds-mrgv .current .dot{ box-shadow:0 0 0 4px var(--accent-bg); } .ds-mrgv .failed .dot{ box-shadow:0 0 0 4px var(--neg-bg); }
.ds-mrgv .current .dot i{ width:10px; height:10px; }
.ds-mrgv .bd{ min-width:0; padding-top:3px; display:flex; flex-direction:column; gap:10px; }
.ds-mrgv .hd{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; }
.ds-mrgv .lb{ font-family:var(--f-display); font-weight:600; font-size:15px; line-height:1.35; color:var(--ink); }
.ds-mrgv .sb{ font-size:13px; line-height:1.45; color:var(--muted); overflow-wrap:anywhere; }
.ds-mrgv .open .sb{ color:var(--ink2); }
.ds-mrgv .planned .lb,.ds-mrgv .skip .lb{ color:var(--muted); font-weight:500; } .ds-mrgv .failed .lb{ color:var(--neg); }
.ds-mrgv .er{ font-size:13px; line-height:1.45; font-weight:600; color:var(--neg); overflow-wrap:anywhere; margin-top:-6px; }
.ds-mrgbody{ background:var(--panel); border-radius:14px; padding:12px 16px; }
.ds-btn.ds-mrgedit.q-btn{ align-self:flex-start; }
.ds-mrgpause{ font-size:13px; color:var(--ink2); padding-bottom:6px; } .ds-mrgpause b{ color:var(--accent-d); }
.ds-mrgwipe{ display:flex; flex-direction:column; }
.ds-mrgwipe .wr{ display:grid; grid-template-columns:76px minmax(60px,1fr) 150px 92px; grid-template-areas:"lb bar nm pill" ". er er er";
  gap:4px 14px; align-items:center; padding:8px 0; border-bottom:1px solid #E7E8EB; }
.ds-mrgwipe .wr:last-child{ border-bottom:0; }
.ds-mrgwipe .lb{ grid-area:lb; font-size:14px; font-weight:600; color:var(--ink); }
.ds-mrgwipe .ds-bar{ grid-area:bar; height:5px; background:#E4E5E9; } .ds-mrgwipe .ds-bar > i{ background:var(--pos); }
.ds-mrgwipe .wr.running .ds-bar > i,.ds-mrgwipe .wr.paused .ds-bar > i{ background:var(--accent); }
.ds-mrgwipe .wr.error .ds-bar > i{ background:var(--neg); }
.ds-mrgwipe .nm{ grid-area:nm; font-size:13px; color:var(--ink2); text-align:right; white-space:nowrap; }
.ds-mrgwipe .bad{ color:var(--neg); font-weight:600; margin-left:8px; }
.ds-mrgwipe .wr > .ds-mrgpill{ grid-area:pill; justify-self:end; }
.ds-mrgwipe .er{ grid-area:er; margin:0; }
.ds-mrgpill{ display:inline-flex; align-items:center; font-size:12px; font-weight:700; padding:2px 10px; border-radius:999px; background:var(--chip); color:var(--ink2); white-space:nowrap; }
.ds-mrgpill.ok,.ds-mrgpill.done{ background:var(--pos-bg); color:#1E7A4C; }
.ds-mrgpill.bad,.ds-mrgpill.error{ background:var(--neg-bg); color:var(--neg); }
.ds-mrgpill.wait,.ds-mrgpill.running,.ds-mrgpill.paused{ background:var(--accent-bg); color:var(--accent-d); }
.ds-mrgpill.skip,.ds-mrgpill.skipped,.ds-mrgpill.pending{ background:#E9EAED; color:var(--muted); }
.ds-mrgtiles{ display:flex; gap:10px; flex-wrap:wrap; }
.ds-mrgtiles .tl{ background:var(--panel); border-radius:14px; padding:12px 18px; min-width:120px; }
.ds-mrgtiles .v{ font-family:var(--f-display); font-weight:700; font-size:26px; line-height:1.15; letter-spacing:-.02em; color:var(--ink); }
.ds-mrgtiles .v span{ font-size:15px; font-weight:600; color:var(--muted); letter-spacing:0; }
.ds-mrgtiles .c{ font-size:13px; color:var(--muted); margin-top:2px; }
.ds-mrgtiles .tl.bad{ background:var(--neg-bg); } .ds-mrgtiles .tl.bad .v,.ds-mrgtiles .tl.bad .c{ color:var(--neg); }
.ds-mrgv .why{ font-size:13px; line-height:1.45; color:var(--neg); margin-top:8px; }
.ds-mrgchecks{ display:flex; flex-direction:column; gap:10px; }
.ds-mrgchecks .q-checkbox{ align-items:flex-start; } .ds-mrgchecks .q-checkbox__label{ font-size:14px; line-height:1.45; color:var(--ink); padding-top:1px; }
.ds-mrgchecks .ro{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; color:var(--ink2); }
.ds-mrgchecks .mk{ width:18px; height:18px; margin-top:1px; box-sizing:border-box; border-radius:5px; border:2px solid #D4D6DB; flex:none;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:#fff; }
.ds-mrgchecks .mk.on{ background:var(--pos); border-color:var(--pos); }
.ds-mrghx{ border-top:1px solid var(--hair2); padding-top:14px; }
.ds-mrghx summary{ cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; color:var(--ink2); }
.ds-mrghx summary::-webkit-details-marker{ display:none; }
.ds-mrghx summary::before{ content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); transition:transform .15s; margin-right:2px; }
.ds-mrghx[open] summary::before{ transform:rotate(45deg); }
.ds-mrghx summary:hover{ color:var(--accent); }
.ds-mrghx .ls{ margin-top:10px; display:flex; flex-direction:column; max-height:340px; overflow:auto; }
.ds-mrghx .hi{ display:grid; grid-template-columns:98px minmax(0,1fr); gap:12px; padding:7px 0; font-size:13px; line-height:1.45; border-bottom:1px solid var(--hair2); }
.ds-mrghx .hi:last-child{ border-bottom:0; }
.ds-mrghx .tm{ color:var(--muted); } .ds-mrghx .tx{ color:var(--ink2); overflow-wrap:anywhere; }
.ds-mrghx .hi.warn .tx{ color:#B26A00; } .ds-mrghx .hi.error .tx{ color:var(--neg); }
@media (max-width:640px){
  .ds-mrgwipe .wr{ grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"lb pill" "bar bar" "nm nm" "er er"; gap:6px 10px; }
  .ds-mrgwipe .nm{ text-align:left; }
  .ds-mrghx .hi{ grid-template-columns:minmax(0,1fr); gap:0; }
  .ds-mrgtiles .tl{ min-width:96px; padding:10px 14px; }
}
.ds-mrgmain{ display:flex; flex-direction:column; gap:4px; font-size:13px; } .ds-mrgmain .q-radio__label{ overflow-wrap:anywhere; }
