:root {
	--dp-font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--dp-font-family-headings: var(--dp-font-family);
	--dp-font-size-field: 14px;
	--dp-font-size-hint: 13px;
	--dp-font-weight-label: 500;
	--dp-font-weight-title: 600;
	--dp-color-page: #FAF8F5;
	--dp-color-surface: #FFFFFF;
	--dp-color-surface-soft: #F4F1EC;
	--dp-color-text: #1F2937;
	--dp-color-text-soft: #374151;
	--dp-color-text-muted: #6B7280;
	--dp-color-text-subtle: #9CA3AF;
	--dp-color-border: #E7E1D8;
	--dp-color-border-strong: #DDD6CC;
	--dp-color-primary: #6E7FA3;
	--dp-color-primary-hover: #617294;
	--dp-color-primary-ring: rgba(110, 127, 163, 0.16);
	--dp-color-success-bg: #EEF8F2;
	--dp-color-success-border: #D6ECDC;
	--dp-color-success-text: #2F6D46;
	--dp-color-danger-bg: #FCF1F0;
	--dp-color-danger-border: #F0D0CD;
	--dp-color-danger-text: #A14F47;
	--dp-radius-field: 12px;
	--dp-radius-panel: 16px;
	--dp-radius-shell: 24px;
	--dp-control-height: 48px;
	--dp-control-padding-y: 13px;
	--dp-control-padding-x: 16px;
	--dp-shadow-shell: 0 10px 30px rgba(31, 41, 55, 0.06);
	--dp-transition-fast: 0.18s ease;
	--dp-focus-ring: 0 0 0 3px var(--dp-color-primary-ring);
}

.dp-auth {
	width: 100%;
	font-family: var(--dp-font-family);
	display: flex;
	justify-content: center;
	padding: 24px 0;
	min-width: 0;
}

.dp-auth__honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.dp-auth__card {
	width: 100%;
	max-width: 480px;
	box-sizing: border-box;
	min-width: 0;
	padding: 32px;
	border: 1px solid var(--dp-color-border);
	border-radius: var(--dp-radius-shell);
	background: var(--dp-color-page);
	box-shadow: var(--dp-shadow-shell);
	color: var(--dp-color-text);
}

.dp-auth__head {
	margin-bottom: 24px;
}

.dp-auth__eyebrow {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: var(--dp-font-weight-label);
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--dp-color-text-muted);
}

.dp-auth__title {
	margin: 0 0 10px;
	font-family: var(--dp-font-family-headings);
	font-size: 32px;
	line-height: 1.12;
	font-weight: var(--dp-font-weight-title);
	color: var(--dp-color-text);
}

.dp-auth__subtitle {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--dp-color-text-muted);
}

.dp-auth__callout {
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: var(--dp-radius-panel);
	font-size: 14px;
	font-weight: 400;
}

.dp-auth__callout--success {
	background: var(--dp-color-success-bg);
	border: 1px solid var(--dp-color-success-border);
	color: var(--dp-color-success-text);
}

.dp-auth__callout--error {
	background: var(--dp-color-danger-bg);
	border: 1px solid var(--dp-color-danger-border);
	color: var(--dp-color-danger-text);
}

.dp-auth__form {
	display: grid;
	gap: 16px;
}

.dp-auth__field {
	display: grid;
	gap: 8px;
}

.dp-auth__label {
	font-size: var(--dp-font-size-field);
	font-weight: var(--dp-font-weight-label);
	color: var(--dp-color-text-soft);
}

.dp-auth__hint {
	font-size: var(--dp-font-size-hint);
	font-weight: 400;
	color: var(--dp-color-text-muted);
}

.dp-auth__input {
	width: 100%;
	min-height: var(--dp-control-height);
	padding: var(--dp-control-padding-y) var(--dp-control-padding-x);
	border: 1px solid var(--dp-color-border-strong);
	border-radius: var(--dp-radius-field);
	background: var(--dp-color-surface);
	color: var(--dp-color-text);
	font-family: var(--dp-font-family);
	font-size: var(--dp-font-size-field);
	font-weight: 400;
	line-height: 1.4;
	box-sizing: border-box;
	transition: border-color var(--dp-transition-fast), box-shadow var(--dp-transition-fast), background var(--dp-transition-fast);
}

.dp-auth__input:focus {
	outline: none;
	border-color: var(--dp-color-primary);
	box-shadow: var(--dp-focus-ring);
}

.dp-auth__input::placeholder {
	color: var(--dp-color-text-subtle);
	font-weight: 400;
	opacity: 1;
}

.dp-auth__checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: var(--dp-font-weight-label);
	color: var(--dp-color-text-soft);
}

.dp-auth__checkbox input {
	accent-color: var(--dp-color-primary);
}

.dp-auth__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--dp-control-height);
	padding: 0 20px;
	border: 1px solid var(--dp-color-primary);
	border-radius: var(--dp-radius-field);
	background: var(--dp-color-primary);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--dp-transition-fast), border-color var(--dp-transition-fast), color var(--dp-transition-fast), opacity var(--dp-transition-fast);
}

.dp-auth__submit:hover {
	background: var(--dp-color-primary-hover);
	border-color: var(--dp-color-primary-hover);
	text-decoration: none;
}

.dp-auth__submit:focus-visible,
.dp-auth__secondary-link:focus-visible,
.dp-auth__footer a:focus-visible {
	outline: none;
	box-shadow: var(--dp-focus-ring);
	border-radius: var(--dp-radius-field);
}

.dp-auth__footer,
.dp-auth__secondary {
	margin-top: 18px;
	text-align: center;
	font-size: 14px;
	line-height: 1.55;
	color: var(--dp-color-text-muted);
}

.dp-auth__footer a,
.dp-auth__secondary-link {
	color: var(--dp-color-primary);
	text-decoration: none;
}

.dp-auth__footer a:hover,
.dp-auth__secondary-link:hover {
	text-decoration: underline;
}

.dp-auth__actions {
	margin-top: 18px;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
}

.dp-auth__submit--linklike {
	text-decoration: none;
}

@media (max-width: 640px) {
	.dp-auth {
		padding: 16px 0;
	}

	.dp-auth__card {
		padding: 24px 18px;
		border-radius: 20px;
	}

	.dp-auth__title {
		font-size: 28px;
	}

	.dp-auth__submit {
		width: 100%;
	}
}

.dp-auth__yandex-form {
	margin: 0;
}

.dp-auth__yandex {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: var(--dp-control-height);
	padding: 0 20px;
	border: 1px solid #f2cf00;
	border-radius: var(--dp-radius-field);
	background: #ffdd2d;
	color: #171717;
	font-family: var(--dp-font-family);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background var(--dp-transition-fast), border-color var(--dp-transition-fast), box-shadow var(--dp-transition-fast);
}

.dp-auth__yandex:hover {
	background: #f8d624;
	border-color: #eac600;
}

.dp-auth__yandex:focus-visible {
	outline: none;
	box-shadow: var(--dp-focus-ring);
}

.dp-auth__yandex-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 7px;
	background: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
}

.dp-auth__divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0;
	color: var(--dp-color-text-muted);
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
}

.dp-auth__divider::before,
.dp-auth__divider::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--dp-color-border);
}
