

/* Start:/local/js/adev/auth/style.css?179269871922255*/
/* ============================================================
   adev.auth: формы входа, регистрации и восстановления.

   Источник: ortho, MOTORKA_DEV/recon/ortho-src/auth-style.css (редакция 10.10.2026).
   Убрано: шрифты, SMS-код, бонусы, сегменты, боковая панель, окно кода (U.2).
   Имена БЭМ: au-field, au-input, au-btn, состояния модификаторами (--now, --done, --invalid).

   Только px. Тема ставит html { font-size: 17px }, и любой rem здесь растёт в 1.0625 раза:
   15px превращается в 15.94px, 16px в 17px.

   Мост токенов: акцент формы берётся от темы сайта (--theme-base-color), запасное значение
   #007db8; --m42-accent-dark: #006c9f для наведения. Остальные цвета заданы здесь же.
   Шрифт: корень наследует шрифт сайта, токены повторяют стек темы (Montserrat, Arial, sans-serif).
   Токен шрифта не равен inherit: внутри шорткода font такое значение делает объявление недействительным.

   Акцент и успех: разные роли. Акцент - действие (кнопка, ссылка, фокус), успех - результат
   (шаг пройден).

   Скругления (владелец, 22.10.2026): у всего 3px - карточки, поля, кнопки, плашки, чекбокс.
   Круглые по замыслу остаются кругами (50%): номер шага, значок «Готово», спиннер.
   ============================================================ */

.adev-auth {
	--m42-accent: var(--theme-base-color, #007db8);
	--m42-accent-dark: #006c9f;
	--accent-50: #E6F2F8; --accent-300: #B3D8EA; --accent-500: var(--m42-accent); --accent-600: var(--m42-accent-dark); --accent-700: #003F7E;
	--success-50: #E4F7EC; --success-300: #9BDCB8; --success-500: #22A85B; --success-600: #1B7C45;
	--amber-500: #F59E0B;
	--info-50: #F2F8FB; --info-600: var(--m42-accent); --info-700: #003F7E;
	--neutral-0: #FFFFFF; --neutral-50: #FBFCFD; --neutral-100: #F7F8FA; --neutral-150: #F2F3F5; --neutral-200: #EDEDED; --neutral-250: #E6E7EA; --neutral-400: #B6B8BF; --neutral-500: #9A9AA0; --neutral-600: #6B6C73; --neutral-700: #3A3B42; --neutral-800: #333333;
	--danger-100: #FDECEB; --danger-200: #F7C9C7; --danger-500: #E5534B; --danger-700: #A6413E;
	--field-border: #DFE3EA; --field-border-hover: #99CBE3; --field-label: #737680; --field-placeholder: #B7BAC2;
	--error-text: #C62828; --error-border: #E5534B; --text-lead: #555555;
	--color-accent: var(--accent-500); --color-accent-hover: var(--accent-600); --color-link: var(--accent-500); --color-link-hover: var(--accent-600);
	--surface-card: #FFFFFF; --surface-pill: var(--neutral-150); --border-color: var(--neutral-250);
	--font-display: Montserrat, Arial, sans-serif; --font-sans: Montserrat, Arial, sans-serif;
	--shadow-card: 0 3px 14px rgba(0, 0, 0, .12); --ease: .18s ease;
	color: var(--neutral-800); font-family: inherit;
}

.adev-auth, .adev-auth *, .adev-auth *::before, .adev-auth *::after { box-sizing: border-box }
.adev-auth img { display: block; max-width: 100% }
.adev-auth a { color: var(--color-link); text-decoration: none }
.adev-auth a:hover { color: var(--color-link-hover) }
.adev-auth.adev-auth p { display: block; vertical-align: baseline }
.adev-auth.adev-auth ul, .adev-auth.adev-auth ol { padding: 0; list-style: none }
.adev-auth.adev-auth li { margin: 0; padding: 0; list-style: none }
.adev-auth.adev-auth li::before { content: none; background: none; width: auto; height: auto; margin: 0; position: static }
.adev-auth.adev-auth h1, .adev-auth.adev-auth h2 { letter-spacing: normal }
.adev-auth.adev-auth input { margin: 0 }

/* Удвоенный класс против фокуса полей темы (input:not([readonly]):focus красит рамку и фон). */
.adev-auth.adev-auth input.au-input__el:focus,
.adev-auth.adev-auth input.au-input__el:not([readonly]):not([disabled]):focus { border: 0; outline: 0; background: transparent; box-shadow: none }

.adev-auth.au-root { display: flex; flex-direction: column }
.adev-auth .au-form { width: 100% }
/* В окне карточка - само окно (m42-modal), форма без полей и фона. */
.adev-auth.au-root--compact { min-height: 0 }
.adev-auth.au-root--compact .au-form { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none }
/* На странице: до 600px карточки нет (форма в полях сайта), с 600px - карточка. */
@media (min-width: 600px) {
	.adev-auth.au-root--page .au-form { padding: 38px 36px 30px; background: var(--surface-card); border-radius: 3px; box-shadow: var(--shadow-card) }
}

.adev-auth .au-head__icon { width: 52px; height: 52px; margin-bottom: 12px; border-radius: 3px; background: var(--accent-50); color: var(--color-accent); display: flex; align-items: center; justify-content: center }
.adev-auth .au-h1 { margin: 0; font: 600 22px/1.2 var(--font-display); color: var(--neutral-800); text-wrap: balance }
.adev-auth .au-lead { margin: 8px 0 0; font: 400 15px/1.45 var(--font-sans); color: var(--text-lead) }
.adev-auth .au-lead b { color: var(--neutral-800); font-weight: 600; white-space: nowrap }
.adev-auth.au-root--compact .au-h1, .adev-auth.au-root--compact .au-lead { padding-right: 36px }
@media (min-width: 600px) { .adev-auth .au-h1 { font-size: 24px } }
.adev-auth .au-back { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 18px; padding: 0; border: 0; background: none; cursor: pointer; font: 500 14px/1 var(--font-sans); color: var(--neutral-700) }
.adev-auth .au-back:hover { color: var(--color-accent) }
.adev-auth .au-link { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; color: var(--color-link); text-decoration: none }
.adev-auth .au-link:hover { color: var(--color-link-hover) }

.adev-auth .au-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 10px; margin: 0 0 20px; padding: 0; list-style: none }
.adev-auth .au-steps__item { display: flex; align-items: center; gap: 8px; min-width: 0; font: 500 13px/1.15 var(--font-sans); color: var(--neutral-600) }
.adev-auth .au-steps__item + .au-steps__item::before { content: none }
.adev-auth .au-steps__num { width: 24px; height: 24px; flex: 0 0 auto; border-radius: 50%; background: var(--surface-pill); color: var(--neutral-700); display: flex; align-items: center; justify-content: center; font: 700 11px/1 var(--font-sans) }
.adev-auth .au-steps__item--now { color: var(--neutral-800) }
.adev-auth .au-steps__item--now .au-steps__num { background: var(--color-accent); color: #fff }
.adev-auth .au-steps__item--done .au-steps__num { background: var(--success-50); color: var(--success-600) }
@media (min-width: 560px) {
	.adev-auth .au-steps { gap: 8px }
	.adev-auth .au-steps__item { gap: 9px; line-height: 1 }
	.adev-auth .au-steps__item + .au-steps__item::before { content: ""; width: 14px; height: 1px; background: var(--field-border) }
}

.adev-auth .au-fields { display: flex; flex-direction: column; gap: 14px; margin-top: 20px }
.adev-auth .au-actions { display: flex; flex-direction: column; gap: 14px; margin-top: 14px }
.adev-auth .au-underrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px }
.adev-auth .au-underrow > .au-link { font-size: 13.5px }
/* Без разделительной линии: 20px под кнопкой. */
.adev-auth .au-switch { margin: 20px 0 0; font: 400 14.5px/1.5 var(--font-sans); color: var(--neutral-600) }
.adev-auth .au-switch + .au-switch { margin-top: 12px }

/* Порядок в разметке: сначала input, потом .au-field__label. Пустоту поля CSS читает из
   :placeholder-shown и передаёт подписи соседним селектором ~, а он смотрит только вперёд.
   Плейсхолдер обязателен (без него :placeholder-shown не работает); виден только на фокусе.
   Подпись и иконка позиционируются от .au-field (внешний край поля). От .au-input
   (внутри рамки) те же 18px легли бы ниже на толщину рамки. */
.adev-auth .au-field { position: relative; display: flex; flex-direction: column; gap: 0; width: 100%; font-family: var(--font-sans) }
/* Фон поля - в --_field-bg: тем же цветом правило автозаполнения перекрывает фон браузера. */
.adev-auth .au-input { --_field-bg: var(--surface-card); display: flex; align-items: center; height: 56px; padding: 0; background: var(--_field-bg); border: 1.5px solid var(--field-border); border-radius: 3px; color: var(--neutral-800); transition: border-color var(--ease) }
.adev-auth .au-input:hover { border-color: var(--field-border-hover) }
.adev-auth .au-input:focus-within { border-color: var(--color-accent) }
.adev-auth .au-input--invalid, .adev-auth .au-input--invalid:hover, .adev-auth .au-input--invalid:focus-within { border-color: var(--error-border) }
.adev-auth .au-input--disabled { --_field-bg: var(--neutral-100); opacity: .7; pointer-events: none }
.adev-auth .au-input--locked { --_field-bg: var(--neutral-50) }
/* Скругление поля задаём сами: тема даёт input { border-radius: 3px }, и без явного значения оно зависит от темы. */
.adev-auth .au-input__el { flex: 1 1 auto; min-width: 0; align-self: stretch; height: 100%; padding: 23px 8px 7px 15px; border: 0; border-radius: 3px; outline: 0; background: transparent; font: 400 15px/1.2 var(--font-sans); color: inherit }
/* iOS увеличивает страницу при фокусе поля со шрифтом меньше 16px: на тач-экранах 16. */
@media (pointer: coarse) { .adev-auth .au-input__el { font-size: 16px } }
.adev-auth .au-input__el::placeholder { color: var(--field-placeholder); opacity: 0; transition: opacity var(--ease) }
.adev-auth .au-input__el:focus::placeholder { opacity: 1 }
.adev-auth .au-field__label { position: absolute; left: 15px; top: 18px; z-index: 1; max-width: calc(100% - 30px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 15px/1.2 var(--font-sans); color: var(--field-label); pointer-events: none; transform-origin: 0 0; transition: transform var(--ease), color var(--ease) }
.adev-auth .au-input__el:focus ~ .au-field__label,
.adev-auth .au-input__el:not(:placeholder-shown) ~ .au-field__label { transform: translateY(-10px) scale(.75) }
.adev-auth .au-input--invalid .au-field__label { color: var(--error-text) }
.adev-auth .au-input__el:focus ~ .au-field__label { color: var(--color-accent) }
/* Автозаполнение (сохранённый пароль, адрес): браузер красит поле своим фоном (Chrome #E8F0FE с !important, его не
   перебить) и тема даёт полю своё скругление - голубой прямоугольник выпирал за скруглённую рамку .au-input.
   Фон перекрывает внутренняя тень цвета поля (--_field-bg), смену фона растягивает transition; текст и каретка -
   цвета поля. !important у тени: сброс фокуса выше (0,6,1) ставит box-shadow: none. :-webkit-autofill (Chrome,
   Safari) и :autofill (Firefox) - разными правилами: незнакомый псевдокласс выбрасывает весь список селекторов.
   Подпись поднята, как при вводе: до первого касания страницы Chrome не открывает значение, и
   :placeholder-shown может оставаться истинным. Правила общие для страниц и окна. */
.adev-auth .au-input__el:-webkit-autofill { box-shadow: 0 0 0 1000px var(--_field-bg) inset !important; -webkit-text-fill-color: var(--neutral-800) !important; caret-color: var(--neutral-800); border-radius: 3px; filter: none; transition: background-color 600000s 0s, color 600000s 0s }
.adev-auth .au-input__el:autofill { box-shadow: 0 0 0 1000px var(--_field-bg) inset !important; -webkit-text-fill-color: var(--neutral-800) !important; caret-color: var(--neutral-800); border-radius: 3px; filter: none; transition: background-color 600000s 0s, color 600000s 0s }
.adev-auth .au-input__el:-webkit-autofill ~ .au-field__label { transform: translateY(-10px) scale(.75) }
.adev-auth .au-input__el:autofill ~ .au-field__label { transform: translateY(-10px) scale(.75) }
.adev-auth .au-field__req { margin-left: 2px; color: var(--danger-500); font-weight: 600 }
.adev-auth .au-input__trail { display: inline-flex; align-items: center; flex: 0 0 auto; padding-right: 6px }
.adev-auth .au-field__err { display: block; margin-top: 5px; padding-left: 3px; font: 400 12.5px/1.35 var(--font-sans); color: var(--error-text) }
/* Ошибка разворачивается по высоте (Vue <transition name="au-err"> в ui.js). */
.adev-auth .au-err-enter-active, .adev-auth .au-err-leave-active { overflow: hidden; transition: max-height .26s cubic-bezier(.4, 0, .2, 1), margin-top .26s cubic-bezier(.4, 0, .2, 1), opacity .2s ease }
.adev-auth .au-err-enter-from, .adev-auth .au-err-leave-to { max-height: 0; margin-top: 0; opacity: 0 }
.adev-auth .au-err-enter-to, .adev-auth .au-err-leave-from { max-height: 34px; opacity: 1 }
.adev-auth .au-hint, .adev-auth .au-field__hint { display: block; margin: 7px 0 0; padding-left: 3px; font: 400 13px/1.4 var(--font-sans); color: var(--field-label) }
/* Несколько ссылок в подсказке (EMAIL_EXISTS: «Войти», «Восстановить пароль»): Vue выбрасывает пробел между соседними
   элементами шаблона, поэтому расстояние задаёт gap, а не пробел в разметке. Селектор с .au-hint (0,3,0)
   перебивает сброс темы display: block у .adev-auth.adev-auth p (0,2,1). */
.adev-auth .au-hint.au-hint--links { display: flex; flex-wrap: wrap; gap: 4px 16px }

.adev-auth .au-eye { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 0; border-radius: 3px; background: none; color: var(--neutral-400); cursor: pointer; transition: color var(--ease), background-color var(--ease) }
.adev-auth .au-eye:hover { color: var(--color-accent); background: var(--neutral-100) }

.adev-auth .au-meter { display: flex; align-items: center; gap: 10px; margin-top: 10px }
.adev-auth .au-meter__bars { display: flex; gap: 5px; flex: 1 }
.adev-auth .au-meter__bar { height: 4px; flex: 1; border-radius: 3px; background: var(--neutral-200); transition: background .22s ease }
.adev-auth .au-meter__text { flex: 0 0 auto; font: 500 13px/1 var(--font-sans); color: var(--neutral-700) }
.adev-auth .au-meter[data-lv="1"] .au-meter__bar:nth-child(-n+1) { background: var(--danger-500) }
.adev-auth .au-meter[data-lv="2"] .au-meter__bar:nth-child(-n+2) { background: var(--amber-500) }
.adev-auth .au-meter[data-lv="3"] .au-meter__bar { background: var(--color-accent) }

/* Обёртка поля с правым слотом: на узком экране слот встаёт второй строкой во всю ширину;
   подпись и иконка остаются у первой строки. */
.adev-auth .au-fieldwrap .au-input { flex-wrap: wrap; height: auto; min-height: 56px }
.adev-auth .au-fieldwrap .au-input__el { flex: 1 1 0; height: 53px }
.adev-auth .au-fieldwrap .au-input__trail { flex: 1 0 100%; padding: 0 8px 8px }
.adev-auth .au-fieldwrap .au-input__trail--inline { flex: 0 0 auto; padding: 0 6px 0 0 }
@media (min-width: 480px) {
	.adev-auth .au-fieldwrap .au-input { flex-wrap: nowrap; height: 56px; min-height: 0 }
	.adev-auth .au-fieldwrap .au-input__el { height: 100% }
	.adev-auth .au-fieldwrap .au-input__trail { flex: 0 0 auto; padding: 0 8px 0 0 }
}
/* Иконка слева - почта, телефон, замок в поле пароля (владелец, 22.10.2026) - на одном месте и с одним отступом
   текста и подписи (41px): поля совпадают. Иконка поверх поля (z-index), поэтому и при автозаполнении фон под ней -
   цвет поля. Глаз в поле пароля остаётся справа (.au-input__trail). */
.adev-auth .au-input__lead { position: absolute; left: 15px; top: 28px; transform: translateY(-50%); z-index: 1; display: flex; color: var(--neutral-400); pointer-events: none; transition: color var(--ease) }
.adev-auth .au-input--lead:focus-within .au-input__lead { color: var(--color-accent) }
.adev-auth .au-input--lead .au-input__el { padding-left: 41px }
.adev-auth .au-input--lead .au-field__label { left: 41px; max-width: calc(100% - 56px) }
.adev-auth .au-input--tel .au-input__el { padding-left: 41px }
.adev-auth .au-input--tel .au-field__label { left: 41px; max-width: calc(100% - 56px) }

.adev-auth .au-btn { --_bg: var(--color-accent); --_fg: #fff; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 24px; border: 0; border-radius: 3px; background: var(--_bg); color: var(--_fg); cursor: pointer; font: 600 16px/1 var(--font-display); white-space: nowrap; text-decoration: none; user-select: none; -webkit-tap-highlight-color: transparent; transition: background-color var(--ease), color var(--ease) }
.adev-auth .au-btn:hover { --_bg: var(--color-accent-hover) }
.adev-auth .au-btn:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px }
.adev-auth a.au-btn:hover, .adev-auth a.au-btn:focus { color: var(--_fg) }
.adev-auth .au-btn--block { display: flex; width: 100% }
.adev-auth .au-btn--secondary { --_bg: var(--surface-pill); --_fg: var(--neutral-800) }
.adev-auth .au-btn--secondary:hover { --_bg: var(--neutral-200) }
.adev-auth .au-btn[disabled], .adev-auth .au-btn[aria-disabled="true"] { opacity: .55; pointer-events: none }
.adev-auth .au-btn__i { display: inline-flex; align-items: center; justify-content: center }

/* Чекбокс как в модалках сайта: квадрат 18, радиус 3, текст 13.5 серый. */
.adev-auth .au-check { position: relative; display: flex; gap: 10px; align-items: flex-start; cursor: pointer; font: 400 13.5px/1.3 var(--font-sans); color: var(--neutral-600) }
.adev-auth .au-check input { position: absolute; opacity: 0; width: 0; height: 0 }
.adev-auth .au-check__box { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; border: 1.5px solid var(--neutral-250); border-radius: 3px; background: var(--surface-card); display: flex; align-items: center; justify-content: center; color: transparent; transition: background-color var(--ease), border-color var(--ease) }
.adev-auth .au-check input:checked + .au-check__box { background: var(--color-accent); border-color: var(--color-accent); color: #fff }
.adev-auth .au-check input:focus-visible + .au-check__box { outline: 2px solid var(--color-accent); outline-offset: 2px }
.adev-auth .au-check--invalid .au-check__box { border-color: var(--error-border) }
.adev-auth .au-check--nowrap { align-items: center }

.adev-auth .au-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 20px; padding: 12px 14px; border-radius: 3px; font: 400 14px/1.45 var(--font-sans) }
.adev-auth .au-fields .au-note { margin-top: 0 }
.adev-auth .au-note .adev-ic { flex: 0 0 auto; margin-top: 1px }
.adev-auth .au-note b { font-weight: 600 }
.adev-auth .au-note--info { background: var(--info-50); color: var(--info-700) }
.adev-auth .au-note--info .adev-ic { color: var(--info-600) }
.adev-auth .au-note--error, .adev-auth .au-note--danger { background: var(--danger-100); border: 1px solid var(--danger-200); color: var(--danger-700) }
.adev-auth .au-note--error .adev-ic, .adev-auth .au-note--danger .adev-ic { color: var(--danger-500) }

/* Готово: как экран благодарности заявки. */
.adev-auth .au-done { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 26px 0; text-align: center }
.adev-auth .au-done__icon { width: 78px; height: 78px; margin: 0 auto; border-radius: 50%; background: var(--success-50); color: var(--success-500); display: flex; align-items: center; justify-content: center }
.adev-auth .au-done .au-h1 { margin: 0; font-size: 22px }
.adev-auth .au-done .au-lead { margin: 0; max-width: 340px; font-size: 16px; line-height: 1.5 }
.adev-auth .au-done .au-actions { width: 100%; margin-top: 0 }

.adev-auth .au-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: adev-au-rot .7s linear infinite }
@keyframes adev-au-rot { to { transform: rotate(360deg) } }
.adev-auth-scroll-lock { overflow: hidden }

/* Доступность: видимый фокус у ссылок и кнопки-глаза. */
.adev-auth .au-link:focus-visible, .adev-auth a:focus-visible, .adev-auth .au-eye:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; border-radius: 3px }
@media (prefers-reduced-motion: reduce) {
	.adev-auth *, .adev-auth *::before, .adev-auth *::after { animation: none !important; transition: none !important }
}
/* Поле-ловушка для ботов: вне экрана, не display:none (простые боты его пропускают). */
.adev-auth .au-hp { position: absolute !important; left: -10000px !important; top: auto; width: 1px; height: 1px; overflow: hidden }

/* End */


/* Start:/local/components/adev/auth.benefits/templates/.default/style.css?17926980401282*/
.m42-benefits { color: #333; font-family: inherit; }
.m42-benefits .m42-benefits__title { margin: 0 0 16px; font-weight: 600; font-size: 20px; line-height: 1.25; color: #333; letter-spacing: normal; text-transform: none; }
.m42-benefits .m42-benefits__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.m42-benefits .m42-benefits__list .m42-benefits__item { display: flex; align-items: flex-start; gap: 14px; margin: 0; padding: 20px; border-radius: 3px; background: #F2F8FB; }
.m42-benefits .m42-benefits__list .m42-benefits__item::before { content: none !important; display: none !important; }
.m42-benefits .m42-benefits__icon { flex: 0 0 44px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 3px; background: #fff; color: var(--theme-base-color, #007db8); }
.m42-benefits .m42-benefits__name { display: block; font-weight: 600; font-size: 15px; line-height: 1.35; color: #333; }
.m42-benefits .m42-benefits__desc { display: block; margin-top: 4px; font-weight: 400; font-size: 14px; line-height: 1.5; color: #555; }
@media (min-width: 600px) and (max-width: 1159px) { .m42-benefits .m42-benefits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* End */
/* /local/js/adev/auth/style.css?179269871922255 */
/* /local/components/adev/auth.benefits/templates/.default/style.css?17926980401282 */
