/* Экраны входа и первого пароля (спека 028, T014/T015): общие стили карточки входа.
   Порт mockup/screens-login.css (спека 028, T068). Размеры - из токенов склада (вход читают те же люди). Янтарь только на главной кнопке. */

.auth { width: 100%; max-width: 700px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--sp-4);
  padding: var(--sp-6); background: var(--surface); border-radius: var(--radius-card); box-shadow: var(--shadow); }
/* мобильной версии нет (решение Александра 19.10.2026): отступ сверху всегда */
.auth { margin-top: var(--sp-4); }
.auth-head { display: flex; align-items: center; gap: var(--sp-3); }
.auth-logo { width: 72px; height: 72px; flex: none; }
.auth-head-txt { display: flex; flex-direction: column; min-width: 0; }
.auth-name { font-size: var(--fs-caption); color: var(--ink-dim); line-height: 1.3; }
.auth-form { display: flex; flex-direction: column; gap: var(--sp-3); }
.auth-form .field { display: flex; flex-direction: column; gap: var(--sp-1); }
.auth-form label { margin-bottom: 0; }

/* Подпись поля и «Показать пароль» в одной строке */
.label-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 var(--sp-2); min-height: var(--target); margin-bottom: 4px; }
.label-row .check { font-size: var(--fs-caption); gap: var(--sp-1); }

/* Сообщение над формой: значок + слово + что сделать. Цвет - только дополнение */
.auth .notice { margin: 0; border: 0; display: flex; flex-direction: column; gap: 4px; padding: var(--sp-2) var(--sp-3);
  background: var(--surface-2); border-radius: var(--radius-card); }
.auth .notice-head { display: flex; align-items: center; gap: var(--sp-2); font-family: var(--display); font-weight: 700;
  font-size: var(--fs-text); line-height: 1.2; }
.auth .notice-text { font-size: var(--fs-text); line-height: 1.3; }
.auth .notice-err { background: var(--err-bg); }
.auth .notice-err .notice-head { color: var(--danger-ink); }

.auth-actions { display: flex; flex-direction: column; gap: var(--sp-3); }
.auth-help { font-size: var(--fs-caption); color: var(--ink-dim); line-height: 1.35; }
.auth-who { font-size: var(--fs-caption); color: var(--ink); line-height: 1.3; }

/* Подвал на экранах входа - по колонке формы */
body:has(.auth) .foot { max-width: calc(700px + 2 * var(--side)); }
.auth-actions form { display: contents; }

/* Пароль: «Показать пароль» в одной строке с подписью, а если не влезает - под полем */
.auth-form .field-pw { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label check" "input input"; column-gap: var(--sp-2); row-gap: var(--sp-2); }
.field-pw > label[for] { grid-area: label; align-self: center; }
.field-pw > input[type="password"], .field-pw > input[type="text"] { grid-area: input; }
.field-pw > .check { grid-area: check; font-size: var(--fs-caption); gap: var(--sp-1); }

/* Колонка входа: карточка 700px и боковые поля роли; заголовок без отступа старого h1 */
.auth-head-txt .title { margin: 0; line-height: 1.15; }
.auth .btn[disabled] { opacity: 1; box-shadow: none; }   /* закрытый вход читается целиком: слово и время */
