/* «Устройства» (D17 §3.4): рамка, шапка, шторка и кнопки — классы «Ключ доступа» (archive-*-v1, app.css); здесь
   строки списка по образцу строк настроек: значок платформы, подпись, справа «Отключить» — и строка «Сменить слова» после
   отключения. Строки 52 px, разделители между строками, обе темы — токены --pt-*. В конце — правки экранов D17 вне
   страницы (app.css заморожен): тост-переход «Новое устройство: …» и программный фокус без обводки. */
.devices-list-v1 { display: grid; }
.devices-row-v1 {
  box-sizing: border-box; display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 4px 0;
  color: var(--pt-text); font: 400 16px/1.35 var(--pager-ui-font); letter-spacing: 0;
}
.devices-row-v1 + .devices-row-v1 { border-top: 1px solid var(--pt-line); }
.archive-page-v1 .devices-icon-v1 { color: var(--pt-muted-strong); }
.devices-label-v1 { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.devices-revoke-v1 {
  flex: none; min-height: 44px; margin: 0 -8px 0 0; padding: 0 8px; border: 0; border-radius: 12px; background: none;
  color: var(--pt-danger); font: 500 15px/1.2 var(--pager-ui-font); letter-spacing: 0; cursor: pointer;
}
.devices-revoke-v1:not(:disabled):active { background: var(--pt-surface-alt); }
.devices-revoke-v1:disabled { opacity: .45; cursor: default; }
/* Ред. 3 экранов D17, 9.3: экраны слов (z-index 78) открываются поверх «Устройств» строкой «Сменить слова», и их «Назад»
   возвращает сюда. */
#devicesPageV1 { z-index: 77; }
/* Ред. 3 экранов D17, 9.11: после отключения — строка действия по образцу строк настроек, а не сноска (без смены слов
   отключение ничего не даёт): значок ключа, «Сменить слова» текстом строки, шеврон; 48 px, нажатие — фон, как у
   «Отключить»; под ней приглушённо, как подпись строки настроек, — зачем. Сверху — промежуток групп настроек (16 + 12 px). */
.devices-again-v1 { display: grid; margin-top: 12px; }
.devices-change-v1 {
  box-sizing: border-box; display: flex; align-items: center; gap: 14px; width: calc(100% + 16px); min-height: 48px;
  margin: 0 -8px; padding: 4px 8px; border: 0; border-radius: 12px; background: none; color: var(--pt-text);
  font: 400 16px/1.35 var(--pager-ui-font); letter-spacing: 0; text-align: left; cursor: pointer;
}
.devices-change-v1 > span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.archive-page-v1 .devices-change-v1 .archive-chevron-v1 { width: 18px; height: 18px; color: var(--pt-muted); opacity: .65; }
.devices-change-v1:active { background: var(--pt-surface-alt); }
.devices-why-v1 { margin: 0; padding-top: 4px; color: var(--pt-muted); font: 400 13px/1.45 var(--pager-ui-font); overflow-wrap: anywhere; }
/* Вопрос шторки получает фокус при открытии (tabindex -1), чтобы «Отмена» не встречала рамкой фокуса: без рамки, как
   заголовок страницы. */
#devicesAskV1 { outline: none; }
@media (max-width: 350px) {
  .devices-row-v1, .devices-change-v1 { gap: 12px; }
}
/* Ред. 3 экранов D17, 9.2: тост «Новое устройство: …» — переход в Настройки → Устройства (#toast окна, toast с действием).
   Нажимается весь, шеврон справа; стоит над плавающей «Связаться» (её край — max(8px, safe area), высота 52 px, зазор
   12 px), в диалоге — над полем ввода, как тосты диалога. */
#toast.pager-toast-link-v1 { bottom: calc(max(8px, env(safe-area-inset-bottom)) + 64px); padding: 0; pointer-events: auto; }
body:has(#app.main-conversation-v2-mode:not(.hidden)) #toast.pager-toast-link-v1 { bottom: calc(94px + env(safe-area-inset-bottom)); }
body.composer-keyboard-visible #toast.pager-toast-link-v1 {
  top: calc(var(--composer-keyboard-top, 0px) + max(80px, calc(env(safe-area-inset-top) + 72px))); bottom: auto;
}
.pager-toast-go-v1 {
  box-sizing: border-box; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; margin: 0;
  padding: 12px 12px 12px 17px; border: 0; border-radius: inherit; background: none; color: inherit; font: inherit;
  letter-spacing: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.pager-toast-go-v1 > span { flex: 1 1 auto; min-width: 0; }
.pager-toast-chevron-v1 {
  flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round;
  stroke-linejoin: round; opacity: .65;
}
.pager-toast-go-v1:active { opacity: .8; }
.pager-toast-go-v1:focus-visible { outline: 2px solid var(--pt-accent); outline-offset: 2px; }
/* Ред. 3 экранов D17, 9.6: фокус при открытии получают корень шлюза, окно билета номера и заголовок Настроек (tabindex -1),
   рамки у них нет; кнопки внутри — с обводкой только с клавиатуры (:focus-visible app.css). */
:is(#registrationOv, #numberOv, #mainSystemTitleV2):focus { outline: none; }
