/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Мастер первой настройки (классы sw-; корневой — .sw-frame: класс .sw занят выключателем в notify.css и давал трёхколоночную раскладку): рамка, шаги «Ваш компьютер» и «Подключение». Цвета и размеры — var(--…) из tokens.css с запасными
   значениями (светлая и тёмная темы переключают сами токены). Подключается в index.html после kit.css. */
.sw-frame { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6, 1.5rem); width: min(100%, var(--layout-narrow, 42rem)); min-width: 0; padding: var(--space-6, 1.5rem); box-sizing: border-box; color: var(--color-ink); }
.sw-frame [hidden] { display: none; }
.sw-head { display: grid; gap: var(--space-3, .75rem); min-width: 0; }
.sw-head .page-title { margin: 0; overflow-wrap: anywhere; }
.sw-progress { margin: 0; color: var(--color-ink2); }
.sw-bar { width: 100%; height: var(--size-progress, 3px); appearance: none; border: 0; border-radius: var(--radius-pill, 99px); overflow: hidden; background: var(--color-line); color: var(--color-ink); }
.sw-bar::-webkit-progress-bar { background: var(--color-line); }
.sw-bar::-webkit-progress-value { background: var(--color-ink); }
.sw-bar::-moz-progress-bar { background: var(--color-ink); }
.sw-body { display: grid; gap: var(--space-4, 1rem); min-width: 0; }
.sw-badge { margin: 0; }
.sw-chip { display: inline-flex; align-items: center; gap: var(--space-2, .5rem); padding: var(--space-1, .25rem) var(--space-3, .75rem); border-radius: var(--radius-pill, 99px); background: var(--color-panel2); color: var(--color-ink2); font: var(--text-label-weight, 500) var(--text-label-size, .75rem)/var(--text-label-line, 1.2) var(--font-sans, system-ui, sans-serif); }
.sw-chip[data-status="done"] { background: var(--color-ok-soft); color: var(--color-ok-soft-text); }
.sw-chip[data-status="attention"] { background: var(--color-warn-soft); color: var(--color-warn-soft-text); }
.sw-title { margin: 0; font: var(--text-h2-weight, 500) var(--text-h2-size, 1.5rem)/var(--text-h2-line, 1.15) var(--text-h2-family, system-ui, sans-serif); letter-spacing: var(--text-h2-track, -.02em); overflow-wrap: anywhere; text-wrap: balance; }
.sw-title:focus-visible { outline: var(--size-focus-width, .125rem) solid var(--color-focus); outline-offset: var(--size-focus-offset, .1875rem); border-radius: var(--radius-xs, .375rem); }
.sw-lead, .sw-p { margin: 0; color: var(--color-ink2); font: var(--text-ui-weight, 400) var(--text-ui-size, .875rem)/var(--text-ui-line, 1.45) var(--font-sans, system-ui, sans-serif); overflow-wrap: anywhere; }
.sw-host { min-width: 0; }
.sw-host[aria-busy="true"] { cursor: progress; }
.sw-step { display: grid; gap: var(--space-4, 1rem); min-width: 0; }

/* ---------- Список проверок ---------- */
.sw-list { display: grid; gap: var(--space-2, .5rem); margin: 0; padding: 0; list-style: none; }
.sw-item { display: flex; align-items: flex-start; gap: var(--space-3, .75rem); padding: var(--space-3, .75rem) var(--space-4, 1rem); border: 1px solid var(--color-line); border-radius: var(--radius-ctl, 10px); background: var(--color-panel); min-width: 0; }
.sw-item[data-status="warn"] { border-color: var(--color-warn); }
.sw-item[data-status="fail"] { border-color: var(--color-danger); }
.sw-item__ic { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: var(--size-icon, 1.25rem); height: var(--size-icon, 1.25rem); color: var(--color-ink3); }
.sw-item__ic[data-status="ok"] { color: var(--color-ok-text); }
.sw-item__ic[data-status="warn"] { color: var(--color-warn-text); }
.sw-item__ic[data-status="fail"] { color: var(--color-danger-text); }
.sw-item__body { display: grid; gap: var(--space-1, .25rem); min-width: 0; }
.sw-item__t { margin: 0; color: var(--color-ink); font: var(--weight-medium, 500) var(--text-ui-size, .875rem)/var(--text-ui-line, 1.45) var(--font-sans, system-ui, sans-serif); overflow-wrap: anywhere; }
.sw-item__w { font-weight: var(--weight-regular, 400); }
.sw-item__w[data-status="ok"] { color: var(--color-ok-text); }
.sw-item__w[data-status="warn"] { color: var(--color-warn-text); }
.sw-item__w[data-status="fail"] { color: var(--color-danger-text); }
.sw-item__h { margin: 0; overflow-wrap: anywhere; }
.sw-err { margin: 0; }

/* ---------- Состояние подключения ---------- */
.sw-state { display: flex; align-items: flex-start; gap: var(--space-3, .75rem); padding: var(--space-4, 1rem); border: 1px solid var(--color-line); border-radius: var(--radius-ctl, 10px); background: var(--color-panel); min-width: 0; }
.sw-state .sw-p { color: var(--color-ink); }
.sw-state[data-kind="ok"] { border-color: var(--color-ok); }
.sw-state[data-kind="notOk"], .sw-state[data-kind="slow"], .sw-state[data-kind="fallback"] { border-color: var(--color-warn); }
.sw-state[data-kind="failed"], .sw-state[data-kind="offline"] { border-color: var(--color-danger); }
.sw-state .ic.spin { animation: sw-spin 1s linear infinite; }

/* ---------- Кнопки ---------- */
.sw-actions, .sw-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3, .75rem); min-width: 0; }
.sw-actions .btn, .sw-nav .btn { min-height: var(--size-touch-min, 2.75rem); }
.sw-nav { padding-top: var(--space-4, 1rem); border-top: 1px solid var(--color-line); }
.sw-nav__next { margin-inline-start: auto; }
.sw-frame .btn[aria-disabled="true"] { opacity: .6; cursor: progress; pointer-events: none; }

@keyframes sw-spin { to { transform: rotate(360deg); } }

@media (max-width: 40rem) {
  .sw-frame { padding: var(--space-4, 1rem); gap: var(--space-5, 1.25rem); }
  .sw-actions .btn, .sw-nav .btn { flex: 1 1 100%; justify-content: center; }
  .sw-nav__next { margin-inline-start: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-state .ic.spin { animation: none; }
}
