/* Реєстрація: адреса з префіксом, телефон +38, пароль з кнопкою «Показати». Кольори й радіуси — токени з base.css. */
.reg__pair { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 12px; }
@media (min-width: 480px) { .reg__pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.form .reg__opt { font-style: normal; font-weight: 600; color: var(--muted); }

.reg__pfx {
    display: flex;
    align-items: stretch;
    min-height: 47px;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    overflow: hidden;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.reg__pfx > span {
    display: flex;
    align-items: center;
    padding: 0 1px 0 13px;
    font-size: 16px;
    font-weight: 600;
    color: var(--muted);
    flex: 0 1 auto;
    min-width: 0;
    max-width: 60%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* довгий домен скорочується «…», а «/» перед адресою лишається завжди */
.reg__pfx > span > b { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: inherit; }
.form .reg__pfx input { flex: 1 1 auto; width: auto; min-width: 0; border: 0; border-radius: 0; padding-left: 2px; background: transparent; box-shadow: none; }
.form .reg__pfx input:focus { box-shadow: none; }
.reg__pfx:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px var(--focus); }
.form-field--invalid .reg__pfx { border-color: var(--danger); background: var(--important-soft); }
.form-field--invalid .reg__pfx input, .form-field--invalid .reg__pfx input:focus { background: transparent; box-shadow: none; }

.form p.reg__state { display: block; min-height: 0; margin: 0; font-size: 13px; line-height: 1.45; font-weight: 600; color: var(--positive); }
.form p.reg__state:empty { display: none; }
.form p.reg__state--bad { color: var(--danger); }

.reg__pass { position: relative; }
.form .reg__pass input { padding-right: 96px; }
.form .reg__pass .reg__eye {
    position: absolute;
    top: 50%;
    right: 6px;
    width: auto;
    min-height: 36px;
    margin: 0;
    padding: 0 12px;
    transform: translateY(-50%);
    border: 0;
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
    color: var(--brand-dark);
    box-shadow: none;
    font-size: 14px;
    font-weight: 700;
}
.form .reg__pass .reg__eye:hover { background: var(--brand-soft); }

.reg__rules { margin: 2px 0 0; padding: 0 0 0 18px; color: var(--muted); font-size: 13px; line-height: 1.55; }

.form .errorlist a { color: var(--brand-dark); font-weight: 700; }

/* Результат підтвердження email */
.auth__actions { display: grid; gap: 10px; margin-top: 4px; }
.auth__actions .btn { width: 100%; }
