/* Вход в hh.ru листом снизу (js/app/auth.js): телефон или почта, код ячейками, капча,
   согласие с офертой, выбор резюме. */

.auth-steps { display: flex; align-items: center; gap: 6px; margin-bottom: var(--sp-1); }
.auth-dot { width: 6px; height: 6px; border-radius: var(--r-pill); background: var(--line-2); transition: width var(--t-screen) var(--ease); }
.auth-dot.on { width: 20px; background: var(--accent); }
.auth-lead { color: var(--ink-2); font-size: 14px; }

/* Телефон или почта */
.login-row { display: flex; align-items: center; gap: var(--sp-2); }
.login-prefix { flex: none; color: var(--ink-3); font: 500 16px var(--font-mono); }
.login-row .input { flex: 1; min-width: 0; }
.auth-swap { justify-content: flex-start; min-height: 36px; padding: 0; font-size: 13.5px; }

/* Код ячейками */
.otp { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); gap: var(--sp-2); }
.otp input {
  width: 100%; min-height: 58px; padding: 0; border: 1px solid var(--line); border-radius: var(--r-block);
  background: var(--s2); color: var(--ink); font: 600 22px var(--font-display); text-align: center;
  caret-color: var(--accent); transition: border-color var(--t-press) linear;
}
.otp input:focus { outline: none; border-color: var(--line-2); }
.otp.bad input { border-color: var(--bad); }
.auth-wait { min-height: 18px; color: var(--ink-3); font-size: 12.5px; }

/* Согласие с офертой и обработкой данных */
.consent { display: flex; align-items: flex-start; gap: var(--sp-2); cursor: pointer; }
.consent input { position: absolute; width: 0; height: 0; opacity: 0; }
.consent-box {
  display: grid; place-items: center; flex: none; width: 22px; height: 22px;
  border: 1px solid var(--line-2); border-radius: 6px; background: var(--s2); color: transparent;
  transition: background-color var(--t-press) linear, border-color var(--t-press) linear;
}
.consent input:checked + .consent-box { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.consent input:focus-visible + .consent-box { outline: 2px solid var(--accent-text); outline-offset: 2px; }
.consent.bad .consent-box { border-color: var(--bad); }
.consent-text { color: var(--ink-2); font-size: 12.5px; line-height: 1.45; }
.consent-text a { color: var(--accent-text); }
.auth-error { color: var(--bad); font-size: 13px; }

/* Капча */
.captcha-box { display: flex; flex-direction: column; gap: var(--sp-3); align-items: stretch; }
.captcha-box p { color: var(--ink-2); font-size: 13.5px; }

/* Выбор резюме */
.resume-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.resume-item {
  display: flex; align-items: center; gap: var(--sp-3); width: 100%; min-height: var(--row-h);
  padding: var(--sp-3) var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-block);
  background: var(--s1); color: var(--ink); text-align: left; cursor: pointer;
}
.resume-item[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-dim); }
.resume-item .set-title { font-size: 14px; }
