/* Мастера операций (Common/Components/PaydaWizardRenderer.cs): шапка со статичными полосками шагов, карточка шага, нижняя панель.
   Перенесено из auction (sauda-wizard). !important — против card/утилит bootstrap и виджетов подписи внутри шага. */
/* Мастера операций (SaudaWizardRenderer): шапка с полосками шагов, шаг в карточке, липкая панель кнопок,
   справа карточка торга. Язык тот же, что у страниц документов (doc-page, dp-*). */
.sw-root {
    --sw-accent: var(--pds-primary, #006196);
    --sw-accent-h: var(--pds-primary-hover, #004B75);
    --sw-accent-50: var(--pds-primary-50, #E5F1F8);
    --sw-accent-100: var(--pds-primary-100, #CBE2F0);
    --sw-ink: var(--pds-ink, #2A2C31);
    --sw-ink-2: var(--pds-ink-2, #434A54);
    --sw-muted: var(--pds-ink-3, #5F707F);
    --sw-faint: var(--pds-ink-4, #98A6AD);
    --sw-line: var(--pds-hair, #E7EEF4);
    --sw-frame: #E3EBF2;
    --sw-border: var(--pds-border, #D2D7E3);
    --sw-zebra: var(--pds-zebra, #F4F9FC);
    --sw-off: var(--pds-muted-bg, #EEF2F7);
    --sw-ok: var(--pds-success, #389E0D);
    --sw-ok-bar: #52C41A;
    --sw-ok-bg: var(--pds-success-bg, rgba(82, 196, 26, .12));
    --sw-bad: var(--pds-danger, #D9363E);
    --sw-bad-bg: var(--pds-danger-bg, rgba(255, 77, 79, .1));
    --sw-warn: var(--pds-warn, #A86F3E);
    --sw-warn-bg: var(--pds-warn-bg, rgba(224, 170, 122, .2));
    --sw-shadow: none; /* без теней: шапка и карточка шага отделены рамкой */
    --sw-font: var(--pds-font, Inter, system-ui, sans-serif);
    --sw-mono: var(--pds-mono, ui-monospace, Consolas, monospace);
    --sw-top: calc(var(--pds-header-h, 113px) + 16px);
    color: var(--sw-ink);
    font-family: var(--sw-font);
}

.sw-root .sw-link { color: var(--sw-accent); font-weight: 600; text-decoration: none; }
.sw-root .sw-link:hover { text-decoration: underline; }
.sw-root .sw-mono { font-family: var(--sw-mono); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.sw-root .sw-eyebrow { color: var(--sw-muted); font: 600 11px/16px var(--sw-font); letter-spacing: .06em; text-transform: uppercase; }
.sw-root .sw-tag { display: inline-flex; flex: none; align-items: center; height: 20px; padding: 0 8px; border-radius: 4px; font: 700 11px/1 var(--sw-font); white-space: nowrap; }
.sw-root .sw-tone-info { background: var(--sw-accent-50); color: var(--sw-accent); }
.sw-root .sw-tone-ok { background: var(--sw-ok-bg); color: var(--sw-ok); }
.sw-root .sw-tone-bad { background: var(--sw-bad-bg); color: var(--sw-bad); }
.sw-root .sw-tone-wait { background: var(--sw-warn-bg); color: var(--sw-warn); }
.sw-root .sw-tone-off { background: var(--sw-off); color: var(--sw-muted); }

/* ---------- шапка ---------- */

.sw-root .sw-head { margin-bottom: 16px; padding: 18px 24px 16px; border-radius: 10px; background: #FFF; border: 1px solid var(--pds-hair, #E7EEF4); }
.sw-root .sw-head-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px 24px; }
.sw-root .sw-head-main { flex: 1 1 380px; min-width: 0; }
.sw-root .sw-title { margin: 2px 0 0; color: var(--sw-ink); font: 700 18px/26px var(--sw-font); letter-spacing: -.01em; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sw-root .sw-sub { margin-top: 4px; color: var(--sw-muted); font: 500 13px/20px var(--sw-font); }
.sw-root .sw-sep { margin: 0 6px; color: var(--sw-faint); }
.sw-root .sw-save { padding-top: 4px; color: var(--sw-muted); font: 500 12px/16px var(--sw-font); }

/* шаги — статичные полоски, не кнопки: прыгать по шагам фреймворк не умеет */
.sw-root .sw-steps { display: grid; grid-template-columns: repeat(var(--sw-n, 4), minmax(0, 1fr)); gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.sw-root .sw-step { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sw-root .sw-step-bar { height: 4px; border-radius: 4px; background: var(--sw-off); }
.sw-root .sw-step.is-done .sw-step-bar { background: var(--sw-ok-bar); }
.sw-root .sw-step.is-now .sw-step-bar { background: var(--sw-accent); }
.sw-root .sw-step-t { color: var(--sw-muted); font: 500 12px/16px var(--sw-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-root .sw-step-t i { margin-right: 4px; color: var(--sw-faint); font-style: normal; font-variant-numeric: tabular-nums; }
.sw-root .sw-step.is-done .sw-step-t { color: var(--sw-ink-2); }
.sw-root .sw-step.is-now .sw-step-t { color: var(--sw-accent); font-weight: 700; }
.sw-root .sw-step-sub { margin-top: -4px; color: var(--sw-faint); font: 500 11px/14px var(--sw-font); }
.sw-root .sw-steps-compact { display: none; }

/* ---------- раскладка ---------- */

.sw-root .sw-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.sw-root .sw-layout.is-single { grid-template-columns: minmax(0, 1fr); }
.sw-root .sw-main { min-width: 0; }
.sw-root .sw-side { align-self: stretch; min-width: 0; } /* stretch — иначе липкой карточке не во что прилипать */
.sw-root .sw-side-sticky { position: sticky; top: var(--sw-top); }
.sw-root .sw-mini { display: none; }

.sw-root .sw-card { border-radius: 10px; background: #FFF; border: 1px solid var(--pds-hair, #E7EEF4); }
.sw-root .sw-step-head { padding: 22px 24px 0; }
.sw-root .sw-step-title { margin: 0; color: var(--sw-ink); font: 700 16px/22px var(--sw-font); letter-spacing: -.01em; }
.sw-root .sw-body { padding: 16px 24px 22px; }
.sw-root .sw-step-head + .sw-body { padding-top: 14px; }
.sw-root .sw-body > :last-child { margin-bottom: 0; }

/* поля и карточки фреймворка внутри шага — без своей рамки и тени: шаг уже белая карточка */
.sw-root .sw-body .card { margin-bottom: 16px; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none !important; }
.sw-root .sw-body .card-header { padding: 0 0 8px; border: 0; background: transparent; color: var(--sw-ink); font: 700 14px/20px var(--sw-font); }
.sw-root .sw-body .card-body { padding: 0; }
.sw-root .sw-body .card + .card { padding-top: 16px; border-top: 1px solid var(--sw-line) !important; }
/* аккордеоны фреймворка (Accordion: заявки в протоколах комиссии, требования в публикации) — свёрнутые секции в тонкой рамке */
.sw-root .sw-body .accordion { margin-bottom: 8px; }
.sw-root .sw-body .accordion > .card { margin: 0; padding: 0; border: 1px solid var(--sw-frame) !important; border-radius: 8px; }
.sw-root .sw-body .accordion > .card > .card-header { margin: 0; padding: 11px 14px; color: var(--sw-ink); font: 600 13.5px/20px var(--sw-font); cursor: pointer; }
.sw-root .sw-body .accordion > .card > .card-header:hover { background: var(--sw-zebra); }
.sw-root .sw-body .accordion > .card .card-body { padding: 4px 14px 14px; }
/* подпись перед документом обёрнута в mb-2 — отступ до документа как у документа до подписи */
.sw-root .sw-body .mb-2:has(> :is(.user-certificate-v8, .user-certificate-v8-mock)) { margin-bottom: 16px !important; }
.sw-root .sw-body label { color: var(--sw-ink-2); font-weight: 600; }
.sw-root .sw-body textarea.form-control, .sw-root .sw-body input.form-control, .sw-root .sw-body select.form-control { border-color: var(--sw-border); border-radius: 8px; }
.sw-root .sw-body .form-control:focus { border-color: var(--sw-accent); box-shadow: 0 0 0 3px var(--sw-accent-100); }

/* подсказки шагов (AppendAlert) — плоской плашкой без рамки */
.sw-root .sw-body .alert { display: block; margin-bottom: 16px; padding: 12px 14px; border: 0; border-radius: 6px; background: var(--sw-accent-50); color: var(--sw-ink-2); font: 500 13px/1.5 var(--sw-font); }
.sw-root .sw-body .alert-danger { background: var(--sw-bad-bg); color: var(--sw-ink-2); }
.sw-root .sw-body .alert-warning { background: var(--sw-warn-bg); color: var(--sw-ink-2); }
.sw-root .sw-body .alert-success { background: var(--sw-ok-bg); color: var(--sw-ink-2); }
.sw-root .sw-body .alert a { color: var(--sw-accent); font-weight: 600; }

/* ---------- содержимое шагов (ApplicationWizardUi и др.) ---------- */

.sw-root .sw-lead { margin: 0 0 16px; color: var(--sw-muted); font: 500 13px/1.5 var(--sw-font); }
.sw-root .sw-hint { margin: 12px 0 0; color: var(--sw-muted); font: 500 12px/1.5 var(--sw-font); }
.sw-root .sw-na { color: var(--sw-faint); font-weight: 500; }
.sw-root .sw-sec-row { display: flex; align-items: baseline; justify-content: space-between; gap: 4px 16px; }
.sw-root .sw-sec-row .sw-lead { flex: 1 1 260px; }
.sw-root .sw-count { flex: none; color: var(--sw-muted); font: 600 12px/16px var(--sw-font); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* плашка: плоская, с простой иконкой */
.sw-root .sw-plate { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 16px; padding: 12px 14px; border-radius: 6px; background: var(--sw-accent-50); color: var(--sw-ink-2); font: 500 13px/1.5 var(--sw-font); }
.sw-root .sw-plate b { color: var(--sw-ink); font-weight: 700; }
.sw-root .sw-plate-ico { flex: none; color: var(--sw-accent); font-size: 18px; line-height: 20px; }
.sw-root .sw-plate.is-ok { background: var(--sw-ok-bg); }
.sw-root .sw-plate.is-ok .sw-plate-ico { color: var(--sw-ok); }
.sw-root .sw-plate.is-bad { background: var(--sw-bad-bg); }
.sw-root .sw-plate.is-bad .sw-plate-ico { color: var(--sw-bad); }
.sw-root .sw-plate.is-warn { background: var(--sw-warn-bg); }
.sw-root .sw-plate.is-warn .sw-plate-ico { color: var(--sw-warn); }

/* сведения: подпись над значением, сеткой в две колонки */
.sw-root .sw-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.sw-root .sw-fact { min-width: 0; padding: 10px 0; border-top: 1px solid var(--sw-line); }
.sw-root .sw-fact:nth-child(-n+2) { padding-top: 0; border-top: 0; }
.sw-root .sw-fact.is-wide { grid-column: 1 / -1; }
.sw-root .sw-fact:first-child.is-wide + .sw-fact { padding-top: 10px; border-top: 1px solid var(--sw-line); }
.sw-root .sw-fact dt { margin: 0 0 2px; color: var(--sw-muted); font: 500 12px/16px var(--sw-font); }
.sw-root .sw-fact dd { margin: 0; color: var(--sw-ink); font: 600 13.5px/20px var(--sw-font); overflow-wrap: anywhere; }
.sw-root .sw-from { margin-top: 14px; color: var(--sw-muted); font: 500 12px/1.5 var(--sw-font); }
.sw-root .sw-note { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--sw-line); }
.sw-root .sw-lbl { margin-bottom: 6px; color: var(--sw-ink-2); font: 600 13px/18px var(--sw-font); }
.sw-root .sw-note .form-group { margin-bottom: 0; }

/* условия: список в рамке, строка целиком кликабельна (label), непринятые после попытки — розовым */
.sw-root .sw-reqs { border: 1px solid var(--sw-frame); border-radius: 8px; }
.sw-root .sw-req { padding: 12px 14px; }
.sw-root .sw-req + .sw-req { border-top: 1px solid var(--sw-line); }
.sw-root .sw-req:hover { background: var(--sw-zebra); }
.sw-root .sw-req.is-err { background: #FFF7F7; }
.sw-root .sw-req .custom-checkbox { margin: 0 !important; }
.sw-root .sw-req label { color: var(--sw-ink); font-weight: 500; cursor: pointer; }
.sw-root .sw-req .pds-field-error { margin: 4px 0 0 24px; }
.sw-root .sw-reqs-foot { display: flex; justify-content: flex-end; margin-top: 10px; font-size: 13px; }

/* документы (FilesField): подпись над полем, поле — светлая зона с кнопкой, загруженные — строками */
.sw-root .sw-files > .row { display: block; margin: 0 !important; padding: 14px 0; border-top: 1px solid var(--sw-line); }
.sw-root .sw-files > .row:first-child { padding-top: 0; border-top: 0; }
.sw-root .sw-files > .row > [class*="col-"] { max-width: none; padding: 0; }
.sw-root .sw-files > .row > .col-md-3 { margin-bottom: 8px; color: var(--sw-ink); font: 600 13px/18px var(--sw-font); }
.sw-root .file-list-editor { margin: 0; padding: 10px; border: 1px dashed var(--sw-border); border-radius: 8px; background: var(--sw-zebra); }
.sw-root .file-list-editor .fileinput-button { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid var(--sw-border); border-radius: 9px; background: #FFF; color: var(--sw-ink-2); font: 600 13px/1 var(--sw-font); box-shadow: none; }
.sw-root .file-list-editor .fileinput-button:hover { border-color: var(--sw-accent); color: var(--sw-accent); }
.sw-root .file-list-editor .fileinput-button .glyphicon { display: none; }
.sw-root .file-list-editor .files-container { margin-top: 8px; }
.sw-root .file-list-editor .file-no-items { padding: 6px 0 2px; color: var(--sw-muted); font: 500 12px/16px var(--sw-font); font-style: normal; text-align: left; }
.sw-root .file-list-editor .file-item-container { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 10px; border-radius: 6px; background: #FFF; }
.sw-root .file-list-editor .file-item-container + .file-item-container { margin-top: 6px; }
.sw-root .file-list-editor .file-name { flex: 1; min-width: 0; overflow: hidden; color: var(--sw-ink); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sw-root .file-list-editor .file-size-info { color: var(--sw-muted); font-size: 12px; white-space: nowrap; }
.sw-root .file-list-editor .file-description-info { display: none; }
.sw-root .file-list-editor .file-remove-btn { order: 3; padding: 0 4px; border: 0; background: transparent; color: var(--sw-bad); font: 600 12.5px/1 var(--sw-font); box-shadow: none; }

/* сводка на шаге «Заявление» */
.sw-root .sw-review { margin: 0 0 16px; padding: 0; border: 1px solid var(--sw-frame); border-radius: 8px; list-style: none; }
.sw-root .sw-review li { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; }
.sw-root .sw-review li + li { border-top: 1px solid var(--sw-line); }
.sw-root .sw-review-t { color: var(--sw-ink); font-weight: 600; }
.sw-root .sw-review-s { color: var(--sw-muted); font-size: 12px; overflow-wrap: anywhere; }


/* конверт с ценой (OfferEnvelopeEditor): у него отступ под колонку подписей фреймворка и ширина 706px —
   в шаге мастера колонки нет, а ширина на телефоне вылезала за экран */
.sw-root .sw-body .offer-envelope-editor { margin-left: 0; }
.sw-root .sw-body .btn-change-offer-envelope { display: inline-flex; align-items: center; min-height: 36px; margin: 0 0 12px; padding: 8px 14px; border-radius: 9px; background: var(--sw-accent); color: #FFF; font: 600 13px/1.3 var(--sw-font); }
.sw-root .sw-body .btn-change-offer-envelope:hover { background: var(--sw-accent-h); }
.sw-root .sw-body :is(.envelope-empty, .envelope-closed-container) { display: block; width: 100%; max-width: 706px; height: auto; aspect-ratio: 706 / 233; background-size: contain; }
.sw-root .sw-body .envelope-empty-text { margin-top: 7%; font-size: clamp(32px, 9vw, 80px); }
/* документ: просмотрщик сам рисует рамку, снизу отступ до блока подписи */
.sw-root .sw-body .w-100.mb-2 { margin-bottom: 16px !important; }

/* ---------- блок подписи (SignBoxV3 / user-certificate-v8, локально -mock): только перекраска, разметку и JS не трогаем ---------- */

.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) > .card { margin: 0; padding: 16px !important; border: 1px solid var(--sw-frame) !important; border-radius: 8px; background: #FFF !important; box-shadow: none !important; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .row { margin: 0; gap: 16px; flex-wrap: nowrap; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .row > [class*="col"] { padding: 0; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .rounded-5.bg-white { padding: 6px !important; border: 1px solid var(--sw-frame); border-radius: 6px !important; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .e-gov-mobile-qr { width: 140px; height: 140px; border-radius: 4px !important; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .font-weight-bold, .sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .font-weight-600 { color: var(--sw-ink); font: 700 14px/20px var(--sw-font) !important; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .text-secondary { color: var(--sw-muted) !important; font: 500 12.5px/18px var(--sw-font); }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .lh-1 { line-height: 1.5 !important; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .mt-1.lh-1 { margin-top: 10px !important; color: var(--sw-ink-2); font: 500 12.5px/20px var(--sw-font); }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .btn-info { display: inline-flex; align-items: center; height: 36px; margin: 10px 0 6px !important; padding: 0 14px; border: 0; border-radius: 9px !important; background: var(--sw-accent); color: #FFF; font: 600 13px/1 var(--sw-font); box-shadow: none; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .btn-info:hover, .sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .btn-info:focus { background: var(--sw-accent-h); }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) a.text-info { color: var(--sw-accent) !important; font-weight: 600; cursor: pointer; }
/* сертификат выбран — карточка владельца */
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .card .card { padding: 12px 14px !important; border: 0 !important; border-radius: 6px; background: var(--sw-zebra) !important; font-weight: 500 !important; }
.sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .card .card .font-16 { font: 700 13px/20px var(--sw-font) !important; }

/* ---------- нижняя панель ---------- */

.sw-root .sw-nav { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 24px; border-top: 1px solid var(--sw-line); border-radius: 0 0 10px 10px; background: #FFF; }
.sw-root .sw-sp { flex: 1; order: 3; }
.sw-root .sw-why { order: 4; max-width: 320px; color: var(--sw-muted); font: 500 12px/16px var(--sw-font); text-align: right; }
/* в разметке главная кнопка первая (Enter), на экране: отмена и ссылки слева, назад и далее справа */
.sw-root .sw-nav .sw-cancel { order: 1; }
.sw-root .sw-nav .sw-link-btn { order: 2; }
.sw-root .sw-nav .sw-prev { order: 5; }
.sw-root .sw-nav .sw-next { order: 6; }
.sw-root .sw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid transparent; border-radius: 9px; font: 600 13px/1 var(--sw-font); white-space: nowrap; text-decoration: none !important; cursor: pointer; transition: background var(--pds-t, .15s) ease, color var(--pds-t, .15s) ease, border-color var(--pds-t, .15s) ease; }
.sw-root .sw-btn-primary { background: var(--sw-accent); color: #FFF !important; }
.sw-root .sw-btn-primary:hover { background: var(--sw-accent-h); }
.sw-root .sw-btn-primary[disabled], .sw-root .sw-btn-primary.disabled { background: #B9C7D3; cursor: not-allowed; }
.sw-root .sw-btn-ghost { border-color: var(--sw-border); background: #FFF; color: var(--sw-ink-2) !important; }
.sw-root .sw-btn-ghost:hover { border-color: var(--sw-accent); color: var(--sw-accent) !important; }
.sw-root .sw-btn-text { padding: 0 8px; background: transparent; color: var(--sw-muted) !important; }
.sw-root .sw-btn-text:hover { color: var(--sw-ink) !important; }
.sw-root .sw-btn-danger-text { padding: 0 8px; background: transparent; color: var(--sw-bad) !important; }
.sw-root .sw-btn-danger-text:hover { background: var(--sw-bad-bg); }
.sw-root .sw-btn:focus-visible { outline: 0; box-shadow: 0 0 0 3px var(--sw-accent-100); }

/* ---------- карточка торга ---------- */

.sw-root .sw-lot { border-radius: 10px; background: #FFF; border: 1px solid var(--pds-hair, #E7EEF4); overflow: hidden; }
.sw-root .sw-lot-photo { aspect-ratio: 16 / 9; background: #DDE7EF; }
.sw-root .sw-lot-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-root .sw-lot-body { padding: 16px 18px; }
.sw-root .sw-lot-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sw-root .sw-lot-num { display: block; white-space: nowrap; color: var(--sw-ink); font: 800 18px/24px var(--sw-font); letter-spacing: -.01em; font-variant-numeric: tabular-nums; text-decoration: none; }
.sw-root a.sw-lot-num:hover { color: var(--sw-accent); }
.sw-root .sw-lot-name { margin: 6px 0 4px; color: var(--sw-ink); font: 600 14px/20px var(--sw-font); overflow-wrap: anywhere; }
.sw-root .sw-lot-place { color: var(--sw-muted); font: 500 12px/1.45 var(--sw-font); overflow-wrap: anywhere; }
.sw-root .sw-kv { margin: 12px 0 0; border-top: 1px solid var(--sw-line); }
.sw-root .sw-kv div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--sw-line); }
.sw-root .sw-kv div:last-child { padding-bottom: 0; border-bottom: 0; }
.sw-root .sw-kv dt { margin: 0; color: var(--sw-muted); font: 500 12px/16px var(--sw-font); }
.sw-root .sw-kv dd { margin: 0; color: var(--sw-ink); font: 600 13px/18px var(--sw-font); text-align: right; font-variant-numeric: tabular-nums; }
.sw-root .sw-kv dd small { display: block; color: var(--sw-warn); font: 500 12px/16px var(--sw-font); }

/* ---------- узкий экран ---------- */

/* справа у сайта своя колонка (col-lg-3) — мастеру остаётся ~3/4 ширины, карточку торга сворачиваем раньше */
@media (max-width: 1199.98px) {
    .sw-root .sw-layout { grid-template-columns: minmax(0, 1fr); }
    .sw-root .sw-side { display: none; }
    .sw-root .sw-mini { display: block; margin-bottom: 12px; border-radius: 10px; background: #FFF; border: 1px solid var(--pds-hair, #E7EEF4); }
    .sw-root .sw-mini summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; list-style: none; cursor: pointer; font: 600 13px/18px var(--sw-font); }
    .sw-root .sw-mini summary::-webkit-details-marker { display: none; }
    .sw-root .sw-mini-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sw-root .sw-mini .sw-lot-body { padding-top: 0; }
    .sw-root .sw-mini .sw-lot-top .sw-eyebrow, .sw-root .sw-mini .sw-lot-num { display: none; }
}

/* в туториале справа ещё и его панель — шагу остаётся мало места, карточку торга сворачиваем раньше */
@media (max-width: 1599.98px) {
    .sw-root.is-tut .sw-layout { grid-template-columns: minmax(0, 1fr); }
    .sw-root.is-tut .sw-side { display: none; }
    .sw-root.is-tut .sw-mini { display: block; margin-bottom: 12px; border-radius: 10px; background: #FFF; border: 1px solid var(--pds-hair, #E7EEF4); }
    .sw-root.is-tut .sw-mini summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; list-style: none; cursor: pointer; font: 600 13px/18px var(--sw-font); }
    .sw-root.is-tut .sw-mini summary::-webkit-details-marker { display: none; }
    .sw-root.is-tut .sw-mini-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sw-root.is-tut .sw-mini .sw-lot-body { padding-top: 0; }
    .sw-root.is-tut .sw-mini .sw-lot-top .sw-eyebrow, .sw-root.is-tut .sw-mini .sw-lot-num { display: none; }
}

@media (max-width: 767.98px) {
    .sw-root .sw-facts { grid-template-columns: minmax(0, 1fr); }
    .sw-root .sw-fact:nth-child(2) { padding-top: 10px; border-top: 1px solid var(--sw-line); }
    .sw-root .sw-steps { display: none; }
    .sw-root .sw-steps-compact { display: block; margin-top: 14px; }
    .sw-root .sw-sc-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 2px 8px; color: var(--sw-ink-2); font: 500 13px/18px var(--sw-font); }
    .sw-root .sw-sc-row b { color: var(--sw-accent); font-weight: 700; }
    .sw-root .sw-sc-next { color: var(--sw-muted); font-size: 12px; }
    .sw-root .sw-bars { display: grid; grid-template-columns: repeat(var(--sw-n, 4), minmax(0, 1fr)); gap: 4px; margin-top: 8px; }
    .sw-root .sw-bars i { height: 4px; border-radius: 4px; background: var(--sw-off); }
    .sw-root .sw-bars i.is-done { background: var(--sw-ok-bar); }
    .sw-root .sw-bars i.is-now { background: var(--sw-accent); }
    .sw-root .sw-head { padding: 16px; }
    .sw-root .sw-title { font-size: 16px; line-height: 22px; }
    .sw-root .sw-step-head { padding: 16px 16px 0; }
    .sw-root .sw-body { padding: 12px 16px 16px; }
    .sw-root .sw-why { display: none; }
    .sw-root .sw-nav { padding: 10px 12px; gap: 6px 8px; }
    .sw-root .sw-nav .sw-sp { display: none; }
    /* главная — во всю ширину сверху, ниже в ряд «Назад», «Отмена» и ссылки */
    .sw-root .sw-nav .sw-next { order: 0; flex: 1 1 100%; height: 40px; overflow: hidden; text-overflow: ellipsis; }
    .sw-root .sw-nav .sw-prev { order: 1; flex: 1 1 0; }
    .sw-root .sw-nav .sw-cancel { order: 2; flex: 1 1 0; }
    .sw-root .sw-nav .sw-link-btn { order: 3; flex: 1 1 0; }
    .sw-root .sw-nav :is(.sw-cancel, .sw-link-btn) { min-width: 0; padding: 0 4px; font-size: 12.5px; line-height: 1.2; white-space: normal; text-align: center; }
    .sw-root :is(.user-certificate-v8, .user-certificate-v8-mock, .tut-signbox) .row { flex-wrap: wrap; }
}

/* телефон: снизу у сайта свой таб-бар (.mobile-navbar, 60px) — панель кнопок прилипает над ним */
@media (max-width: 575.98px) {
    .sw-root .sw-nav { bottom: 60px; }
}

/* туториал подсвечивает кнопку с отступом 6px и белой обводкой 2px — при обычном зазоре 8px соседняя кнопка
   прилипала к подсветке; в копии оболочки зазор шире */
.sw-root.is-tut .sw-nav { gap: 14px 16px; }

/* payda: project-theme.css красит фреймворковый .rootwizard в белую карточку с тенью и отступами — у новой оболочки
   свои шапка и карточка шага, иначе получается карточка в карточке. Мастер дев-панели (старый рендер) не задеваем. */
.rootwizard.sw-root {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}
