/* Личный кабинет: вход, регистрация, реквизиты, история.

   Стили экрана входа перенесены из макета _layout/vhod.html дословно.
   Остальное — то, чего в макете не было: сообщения об ошибках, ловушка
   для ботов, состояния кнопок.

   ⚠️ Потолок отступов на телефоне (16px) задан общим правилом в theme.css —
   здесь его не переопределяем. */

/* ── ВХОД И РЕГИСТРАЦИЯ ─────────────────────────────────────────────── */
.auth-wrap{display:grid;grid-template-columns:480px 1fr;gap:56px;align-items:start}
.auth{border:1px solid var(--line);border-radius:var(--r-lg);padding:40px}
.tabs2{display:flex;gap:6px;background:var(--surface);border-radius:999px;padding:5px}
.tabs2 button{flex:1;border:none;border-radius:999px;padding:11px 8px;font-family:var(--font-h);font-weight:700;font-size:13.5px;background:transparent;color:var(--muted);cursor:pointer}
.tabs2 button.is-active{background:var(--navy);color:#fff}
@media (max-width:900px){.auth-wrap{grid-template-columns:1fr;gap:32px}}

/* ── СООБЩЕНИЯ ──────────────────────────────────────────────────────── */
.at-msg{display:flex;flex-direction:column;gap:6px;border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:14px;line-height:1.5}
.at-msg--error{background:#FDF1F1;border-left:3px solid #D14343;color:#8A2A2A}
.at-msg--ok{background:#F0FBF4;border-left:3px solid var(--green);color:#0A5A2E}
.at-msg--info{background:var(--surface);border-left:3px solid var(--blue);color:var(--muted)}

/* ── ЧЕКБОКСЫ СОГЛАСИЙ ──────────────────────────────────────────────── */
.at-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.45;cursor:pointer}
.at-check input{margin-top:3px;flex:none}

/* Ссылка, которая на деле кнопка: «Забыли пароль?» разворачивает форму,
   а не ведёт на другой адрес — <a href="#"> здесь был бы враньём
   для скринридера и ломал бы навигацию с клавиатуры. */
.at-linkbtn{background:none;border:none;padding:0;font:inherit;color:var(--blue);font-weight:600;cursor:pointer;align-self:center}

/* Ловушка для ботов: человек её не видит и не заполняет.
   ⚠️ display:none не годится — часть ботов такие поля пропускает. */

/* ── КАРКАС КАБИНЕТА ────────────────────────────────────────────────── */
.acc{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.acc>*{min-width:0}
.acc-menu{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:var(--stick-top)}
.acc-menu a{padding:12px 16px;border-radius:10px;color:var(--muted);font-weight:600;font-size:14.5px}
.acc-menu a.is-active{background:var(--surface);color:var(--navy)}
.acc-menu a:hover{color:var(--navy)}
@media (max-width:900px){
  .acc{grid-template-columns:minmax(0,1fr)}
  .acc-menu{position:static;flex-direction:row;flex-wrap:wrap}
}

/* Плашка статуса реквизитов. Цвета те же, что у статусов правил подбора,
   чтобы «на проверке» везде выглядело одинаково. */
.acc-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700}
.acc-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.acc-status--pending{background:#FFF6E5;color:#8A5A00}
.acc-status--approved{background:#EAF9F0;color:#0a7a3b}
.acc-status--rework{background:#FDF1F1;color:#a33}

/* ── ИСТОРИЯ ОБРАЩЕНИЙ ──────────────────────────────────────────────── */
.ord{grid-template-columns:.6fr .9fr 2fr 1.2fr 1.5fr}
@media (max-width:900px){
  .tbl{overflow-x:auto}
  .ord{min-width:760px}
}

/* Фильтр по типам обращений. */
.acc-filter{display:flex;gap:6px;flex-wrap:wrap}
.acc-filter a{border-radius:999px;padding:9px 18px;font-weight:600;font-size:13.5px;color:var(--muted);background:var(--surface)}
.acc-filter a.is-active{background:var(--navy);color:#fff}

/* Кнопка, недоступная по состоянию записи: «Повторить» до подтверждения
   состава. Показываем причину, а не прячем — иначе непонятно, почему
   у одного заказа кнопка есть, а у другого нет. */
.acc-off{opacity:.45;cursor:not-allowed;pointer-events:none}
.acc-why{font-size:12px;color:var(--muted-2);line-height:1.4;display:block;margin-top:4px}

/* Потолок отступов на телефоне (16px) — как во всей теме. Чипсы фильтра
   и меню кабинета шире по горизонтали, чем позволяет правило. */
@media (max-width:620px){
  .acc-filter a{padding:9px 16px}
  .acc-menu{padding:12px}
  .acc-menu a{padding:10px 12px}
}

/* ── ОШИБКА ПОЛЯ ──────────────────────────────────────────────────────
   Подпись живёт ПОД своим полем, а не в общем списке над формой: раньше
   человек читал «КПП состоит из 9 знаков» и искал нужный инпут глазами. */
.field.is-error input,
.field.is-error select,
.field.is-error textarea{border-color:#D14343;background:#FFFCFC}
.field.is-error input:focus,
.field.is-error select:focus,
.field.is-error textarea:focus{border-color:#D14343;box-shadow:0 0 0 3px rgba(209,67,67,.12)}
.field__err{display:block;margin-top:-2px;font-size:12.5px;font-weight:500;line-height:1.4;color:#C0392B}
.at-check.is-error{color:#C0392B}
.at-check.is-error input{outline:2px solid #D14343;outline-offset:2px}
.at-check .field__err{margin-top:4px}
