/* «Личный кабинет» и «История операций» (techkarta-back#257): чего нет в файлах макета — состояния сервиса без
   артборда и движение сверх кита. Файл не с макета: правила макета — в up-acct.css, их не трогаем. Подключён на
   экране profile. Анимации — transform, opacity и filter; раскрытие форм (высота) ведёт слой движения
   (src/pages/profile/Reveal.tsx). prefers-reduced-motion выключает кит (`.up * { animation: none; transition: none }`). */

/* --- смена состояния раздела: блоки внутри обёртки идут с тем же шагом, что в .up-acct-sec-b --- */
.x-prof-swap { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.x-prof-reveal { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; }

/* --- ошибки: рамка поля и строка на месте подсказки — как в окне входа (up-authA, там правило привязано к .up-authA) --- */
.up-profile .up-input[aria-invalid="true"] { border-color: var(--error); }
.x-prof-msg { animation: up-authA-in .15s var(--ease-out) both; }
.up-profile .up-acct-ferr { text-wrap: pretty; }

/* --- сообщение над карточкой: галочка рисуется (up-draw кита) после появления строки --- */
.x-prof-ok path:last-child { stroke-dasharray: 24; animation: up-draw .3s var(--ease-out) .22s both; }

/* --- «Быстрый вход»: кнопка «Привязать» — форма POST (на макете — кнопка без формы) --- */
.x-prof-link { display: flex; margin: 0; }
.up-profile .up-acct-id > .up-docs-ghost:disabled { opacity: .5; cursor: default; transform: none; }
/* панель «Отвязать?»: ячейка на всю строку; шаг сетки строки (10 px) сворачивается вместе с панелью */
.x-prof-confirm { grid-column: 1 / -1; margin-top: -10px; }
.x-prof-confirm > .up-acct-confirm { margin-top: 10px; }
.up-profile .up-acct-confirm .up-acct-ferr { font-weight: 500; }

/* --- «История операций»: строки появляются лесенкой, как строки «Моих документов» (up-row-in-a) --- */
.up-profile .up-acct-hrow { animation: up-row-in-a .36s var(--ease-out) both; animation-delay: calc(60ms + var(--n, 0) * 40ms); }
.up-profile .up-acct-empty { animation: up-row-in-a .4s var(--ease-out) both; }

@media (max-width: 639px) {
  .up-profile .up-acct-id > .x-prof-link { grid-column: 1 / -1; }
  .x-prof-link > .up-btn { flex: 1 1 100%; justify-content: center; }
}
