/* Общая раскладка экранов сервиса: основа и узоры, которые нужны всем
   страницам. Из design/screens/screens.css (версия 2 от 09.10.2026), имена
   классов и облик без изменений; значения цвета и размеров - из
   tokens.css. Детали интерфейса (ui-*) лежат в ui.css. */

body {
  margin: 0;
}

/* Атрибут hidden должен скрывать и элементы, у которых класс задаёт display */
[hidden] {
  display: none !important;
}

.scr {
  container: scr / inline-size;
  min-height: 100%;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  -webkit-font-smoothing: antialiased;
}

.scr *,
.scr *::before,
.scr *::after {
  box-sizing: border-box;
}

.scr h1,
.scr h2,
.scr h3,
.scr p,
.scr form {
  margin: 0;
}

/* Поле-ловушка для роботов: человек его не видит */
.form__trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Рабочие экраны: кабинет, рабочее место, документы, страницы ошибок */
.app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.head-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 6px;
  color: var(--ink-secondary);
  font-size: 15px;
  line-height: 22px;
}

.head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.card-text {
  color: var(--ink-secondary);
  font-size: 15px;
  line-height: 22px;
}

.card-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Выход в шапке: форма из одной кнопки */
.ui-appbar__logout {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
