/*
 * Страницы до входа в кабинет: регистрация, вход, исходы регистрации,
 * восстановление пароля.
 *
 * Своя тёмная тема, а не тема кабинета. Кабинет — рабочий инструмент,
 * эти страницы видит человек, который ещё ничего про нас не знает, и у
 * них другая задача. Поэтому здесь не подключается ни бутстрап, ни
 * иконочные шрифты, ни jQuery: страница грузит один этот файл и шрифт.
 *
 * Размеры и цвета совпадают с утверждённым макетом.
 */

:root {
	--entry-bg: #0a0710;
	--entry-accent: #ec2f86;
	--entry-text: #b9adc4;
	--entry-title: #ffffff;
	--entry-muted: #9d90a8;
	--entry-placeholder: #8d7f97;
	--entry-panel: rgba(23, 14, 28, 0.74);
	--entry-panel-solid: rgba(23, 14, 28, 0.92);
	--entry-line: rgba(255, 255, 255, 0.10);
	--entry-field: rgba(255, 255, 255, 0.035);
	--entry-tile: rgba(236, 47, 134, 0.10);
	--entry-tile-line: rgba(236, 47, 134, 0.26);
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	background: var(--entry-bg);
}

body.entry-body {
	color: var(--entry-text);
	font-family: 'Manrope', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

.entry a { color: var(--entry-accent); text-decoration: none; }
.entry a:hover { color: var(--entry-accent); text-decoration: underline; }

.entry h1, .entry h2, .entry h3 { margin: 0; font-weight: 800; }

/* --- Каркас первого экрана ------------------------------------------ */

.entry {
	position: relative;
	min-height: 100vh;
	overflow: hidden;
	padding-bottom: 92px;
}

.entry__photo {
	position: absolute;
	left: 21%;
	top: 0;
	width: 52%;
	height: 946px;
	object-fit: cover;
	object-position: 50% 15%;
	z-index: 0;
}

/* Затемнение по краям снимка: слева на нём лежит заголовок, справа —
   панель формы, и без этого ни то, ни другое не читается. */
.entry__veil {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 946px;
	z-index: 1;
	background:
		linear-gradient(90deg, var(--entry-bg) 0%, rgba(10,7,16,0.97) 21%, rgba(10,7,16,0.62) 33%, rgba(10,7,16,0.16) 50%, rgba(10,7,16,0.72) 70%, var(--entry-bg) 86%),
		linear-gradient(180deg, rgba(10,7,16,0) 62%, rgba(10,7,16,0.88) 84%, var(--entry-bg) 100%);
}

.entry__wrap {
	position: relative;
	z-index: 2;
	max-width: 1420px;
	margin: 0 auto;
	padding: 44px 60px 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 560px;
	grid-template-rows: auto auto;
	gap: 0 60px;
	align-items: start;
}

/* Заголовок и доводы — одна колонка, панель формы во всю её высоту рядом. */
.entry__copy  { grid-column: 1; grid-row: 1; }
.entry__panel { grid-column: 2; grid-row: 1 / span 2; }
/* Плитки доводов — на странице входа. С регистрации они убраны 10.09.2026,
   а стили были удалены вместе с ними, и вход развалился: иконки без
   размера растягивались на полэкрана. Стили общие — удалять можно только
   убедившись по всем шаблонам до входа (сторож EntryStylesDefinedTest). */
.entry__extra { grid-column: 1; grid-row: 2; }

/* --- Левая колонка --------------------------------------------------- */

.entry__copy { max-width: 600px; padding-top: 18px; }

.entry__title {
	font-size: 56px;
	line-height: 1.14;
	letter-spacing: -0.8px;
	color: var(--entry-title);
	margin-bottom: 20px;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.5);
}

.entry__title em { font-style: normal; color: var(--entry-accent); }

.entry__lead {
	font-size: 17px;
	line-height: 1.62;
	color: #c9bcd1;
	margin: 0 0 40px;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55);
}

.entry__lead b { color: var(--entry-accent); font-weight: 700; }

.entry__perks { display: flex; flex-direction: column; gap: 22px; }
.entry__perk { display: flex; gap: 16px; align-items: center; }
.entry__perk-icon {
	width: 54px;
	height: 54px;
	flex: 0 0 auto;
	border-radius: 16px;
	background: var(--entry-tile);
	border: 1px solid var(--entry-tile-line);
	display: flex;
	align-items: center;
	justify-content: center;
}
.entry__perk-icon svg { width: 23px; height: 23px; }
.entry__perk-title { font-size: 17px; font-weight: 700; color: var(--entry-title); margin-bottom: 2px; }
.entry__perk-sub { font-size: 14px; color: var(--entry-muted); }










.entry__hint {
	margin-top: 40px;
	padding: 20px 24px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 15px;
	line-height: 1.55;
	color: #a99cb3;
}

/* --- Панель формы ---------------------------------------------------- */

.entry__panel {
	border-radius: 26px;
	background: var(--entry-panel);
	border: 1px solid rgba(236, 47, 134, 0.30);
	box-shadow: 0 0 60px rgba(236, 47, 134, 0.12), 0 40px 90px rgba(0, 0, 0, 0.6);
	padding: 36px 44px 34px;
}

.entry__panel-head { text-align: center; margin-bottom: 28px; }

.entry__panel-head svg { width: 42px; height: 42px; margin-bottom: 12px; }

/* 34, а не 40: слово служебное, соревноваться с заголовком ему незачем. */
.entry__panel-title {
	font-size: 34px;
	letter-spacing: -0.6px;
	color: var(--entry-title);
	margin-bottom: 10px;
}

.entry__panel-sub { font-size: 16px; color: #a99cb3; line-height: 1.45; }

.entry__fields { display: flex; flex-direction: column; gap: 16px; }

.entry__field {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 62px;
	padding: 0 20px;
	border-radius: 16px;
	background: var(--entry-field);
	border: 1px solid var(--entry-line);
	transition: border-color .15s ease, box-shadow .15s ease;
}

.entry__field:focus-within {
	border-color: rgba(236, 47, 134, 0.55);
	box-shadow: 0 0 0 3px rgba(236, 47, 134, 0.12);
}

.entry__field svg { width: 21px; height: 21px; flex: 0 0 auto; }

.entry__field input {
	flex-grow: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--entry-title);
	font: inherit;
	font-size: 17px;
	padding: 0;
}

.entry__field input::placeholder { color: var(--entry-placeholder); opacity: 1; }

/* Автозаполнение в вебките перекрашивает поле в белое — возвращаем тёмное. */
.entry__field input:-webkit-autofill,
.entry__field input:-webkit-autofill:hover,
.entry__field input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--entry-title);
	-webkit-box-shadow: 0 0 0 1000px #1a1020 inset;
	transition: background-color 9999s ease-in-out 0s;
}

.entry__eye {
	flex: 0 0 auto;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: var(--entry-placeholder);
	line-height: 0;
}

.entry__eye:hover { color: var(--entry-title); }

.entry__field--bad { border-color: rgba(236, 47, 134, 0.65); }

.entry__error {
	display: block;
	margin: 7px 2px 0;
	font-size: 13px;
	line-height: 1.45;
	color: #ff8fbb;
}

.entry__btn {
	display: block;
	width: 100%;
	margin-top: 26px;
	height: 64px;
	border: 0;
	border-radius: 16px;
	background: var(--entry-accent);
	color: #ffffff;
	font: inherit;
	font-size: 19px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 10px 34px rgba(236, 47, 134, 0.30);
	transition: filter .15s ease, transform .05s ease;
}

/* Кнопка-ссылка: правило «.entry a» выше специфичнее, чем «.entry__btn»,
   и перекрашивало текст в акцентный цвет — на акцентном же фоне кнопки он
   становился невидимым. Так пропадала надпись «Войти» на странице
   «Пароль изменён». Возвращаем белый и для ссылки. */
a.entry__btn,
.entry a.entry__btn,
.entry a.entry__btn:hover { color: #ffffff; text-decoration: none; }

/* Ссылке, в отличие от кнопки, высота сама текст не центрирует: у <button>
   это делает браузер, у <a> надпись прижимается к верху. Раньше центрирование
   дописывали инлайновым стилем на каждой такой ссылке. */
a.entry__btn { display: flex; align-items: center; justify-content: center; }

.entry__btn:hover { filter: brightness(1.06); }
.entry__btn:active { transform: translateY(1px); }

.entry__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 20px;
	font-size: 15px;
	color: #a99cb3;
}

.entry__check { display: flex; align-items: center; gap: 10px; cursor: pointer; }

.entry__check input { position: absolute; opacity: 0; pointer-events: none; }

.entry__check-box {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.20);
	background: rgba(255, 255, 255, 0.03);
}

.entry__check input:checked + .entry__check-box {
	background: var(--entry-accent);
	border-color: var(--entry-accent);
}

.entry__foot { margin-top: 22px; text-align: center; font-size: 15px; color: #a99cb3; }

.entry__foot a { font-weight: 700; text-decoration: underline; }

/* Подсказка для пришедших из Telegram. Стоит внутри панели формы, поэтому
   опирается на её же палитру: подложка с оттенком акцента, чтобы строку
   заметили, но она не спорила с кнопкой входа. */
.entry__note {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 20px;
	padding: 16px 18px;
	border-radius: 16px;
	background: var(--entry-tile);
	border: 1px solid var(--entry-tile-line);
	font-size: 14px;
	line-height: 1.5;
	color: var(--entry-text);
}

.entry__note svg { width: 22px; height: 22px; flex: 0 0 auto; margin-top: 1px; }

.entry__note-title { font-weight: 700; color: var(--entry-title); margin-bottom: 3px; }

.entry__note a { color: var(--entry-accent); font-weight: 700; text-decoration: underline; }

.entry__fine {
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	font-size: 13px;
	line-height: 1.5;
	color: #7d7186;
	text-align: center;
}

/* Общая ошибка формы — неверный пароль, лимит попыток. */
.entry__alert {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-bottom: 22px;
	padding: 14px 16px;
	border-radius: 14px;
	background: rgba(236, 47, 134, 0.12);
	border: 1px solid rgba(236, 47, 134, 0.38);
	font-size: 14px;
	line-height: 1.45;
	color: #ffd3e6;
	text-align: left;
}

.entry__alert svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; }

.entry__badge {
	display: inline-block;
	margin-bottom: 22px;
	padding: 6px 11px;
	background: var(--entry-accent);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.9px;
	text-transform: uppercase;
}

/* --- Полоса доверия внизу -------------------------------------------- */

.entry__trust {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	background: var(--entry-bg);
}

.entry__trust-in {
	max-width: 1420px;
	margin: 0 auto;
	padding: 18px 60px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	align-items: center;
}

.entry__trust-item { display: flex; gap: 14px; align-items: center; }

.entry__trust-item svg { width: 26px; height: 26px; flex: 0 0 auto; }

.entry__trust-title { font-size: 15px; font-weight: 700; color: var(--entry-accent); }

.entry__trust-sub { font-size: 14px; color: var(--entry-muted); }

/* --- Короткие страницы: письмо отправлено, сброс пароля --------------- */

.entry--plain { display: flex; align-items: center; justify-content: center; padding: 40px 20px 132px; }

.entry--plain .entry__panel { width: 100%; max-width: 520px; }

.entry__msg { font-size: 17px; line-height: 1.6; color: #d3c7db; text-align: center; }

.entry__msg-hint { margin-top: 14px; font-size: 15px; color: var(--entry-muted); text-align: center; }

/* --- Планшет ---------------------------------------------------------- */

@media (max-width: 1180px) {
	.entry__wrap { grid-template-columns: minmax(0, 1fr) 480px; gap: 40px; padding: 40px 32px 0; }
	.entry__panel { padding: 32px 32px 30px; }
	.entry__title { font-size: 40px; }
	.entry__trust-in { padding: 16px 32px; gap: 20px; }
	.entry__trust-title { font-size: 14px; }
	.entry__trust-sub { font-size: 13px; }
}

/* --- Телефон ---------------------------------------------------------- */

@media (max-width: 900px) {

	.entry { padding-bottom: 0; overflow: visible; }

	/* Снимок становится верхней полосой, а не фоном во всю страницу:
	   в узкой колонке кадр «вся комната» делает лицо неразличимым. */
	/* 280, а не 420 — почему, написано в entry-proof.css. */
	.entry__photo {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		height: 280px;
		object-position: 58% 18%;
	}

	.entry__veil {
		height: 280px;
		background: linear-gradient(180deg, rgba(10,7,16,0.28) 0%, rgba(10,7,16,0.10) 30%, rgba(10,7,16,0.74) 70%, var(--entry-bg) 100%);
	}

	/* Порядок на телефоне другой: заголовок, форма, и только потом доводы —
	   ради формы сюда и пришли, читать до неё никто не станет. */
	.entry__wrap {
		display: flex;
		flex-direction: column;
		padding: 0 20px 32px;
		margin-top: -88px;
	}

	.entry__copy  { order: 1; }
	.entry__panel { order: 2; }
	.entry__extra { order: 3; }
	.entry__perks { gap: 18px; }
	.entry__perk-icon { width: 50px; height: 50px; border-radius: 15px; }
	.entry__perk-title { font-size: 16px; }

	.entry__copy { max-width: none; padding-top: 0; }

	.entry__badge { margin-bottom: 10px; }
	.entry__title { font-size: 28px; letter-spacing: -0.5px; margin-bottom: 10px; }

	.entry__lead { font-size: 15px; margin-bottom: 14px; }

	/* На телефоне форма идёт сразу после заголовка: ради неё сюда и пришли,
	   доводы читают уже после. */
	.entry__panel {
		margin-bottom: 30px;
		padding: 26px 20px 24px;
		border-radius: 24px;
		background: var(--entry-panel-solid);
	}

	.entry__panel-head { margin-bottom: 16px; }
	.entry__panel-head svg { display: none; }
	.entry__panel-title { font-size: 24px; margin-bottom: 6px; }
	.entry__panel-sub { font-size: 14px; }

	.entry__fields { gap: 13px; }
	.entry__field { height: 56px; padding: 0 18px; gap: 12px; border-radius: 15px; }
	.entry__field input { font-size: 16px; }

	.entry__btn { height: 58px; font-size: 17px; margin-top: 20px; border-radius: 15px; }

			
		
	.entry__hint { margin-top: 26px; }

	/* Полоса доверия внизу на телефоне не показывается вовсе. Она повторяет
	   доводы, которые человек только что прочитал в колонке выше: те же
	   выплаты, та же приватность, та же поддержка. В две колонки на широком
	   экране это подпись под первым экраном, а в одну — второй такой же
	   список подряд, и до формы его никто не дочитывает. */
	/* Полоса теперь показывается и на телефоне: плиток, которые её
	   повторяли, больше нет, и это единственное место, где сказано про
	   способы выплат, псевдоним, сроки и поддержку. */
	/* На телефоне полоса идёт в потоке, после содержимого. На широком
	   экране она прибита к низу (position: absolute) и под неё оставлен
	   отступ; на телефоне отступа нет, и с 11.09.2026, когда полосу здесь
	   включили, она легла поверх плиток входа. */
	.entry__trust { position: static; }
	.entry__trust-in {
		grid-template-columns: 1fr 1fr;
		gap: 16px 18px;
		padding: 18px 20px;
	}

	.entry--plain { display: block; padding: 0; }
	.entry--plain .entry__panel { max-width: none; }
}

@media (max-width: 380px) {
	.entry__title { font-size: 26px; }
	.entry__panel { padding: 22px 16px 20px; }
}
