/* ──────────────────────────────────────────────────────────────
   Ortak giriş (auth) teması — Login, Şifremi Unuttum,
   Firma Kayıt ve Yeni Kullanıcı Talebi sayfaları bunu kullanır.
   Layout: Views/Shared/_AuthLayout.cshtml
   ────────────────────────────────────────────────────────────── */

:root {
	--navy:       #0A1B38;
	--navy-mid:   #12305E;
	--navy-light: #1E4A9E;
	--gold:       #C9A84C;
	--gold-light: #E2C46A;
	--surface:    #FFFFFF;
	--border:     #E3E8F0;
	--text-main:  #16233F;
	--text-muted: #7A879F;
}

body.auth-bg { background-color: #E8ECF3 !important; }

/* Kartı çevreleyen dış zemin — hafif dokulu, kartın altında zemin hissi verir */
.auth-root {
	min-height: 100vh;
	padding: 12px;
	background:
		radial-gradient(1200px 600px at 15% -10%, rgba(30,74,158,.06), transparent 60%),
		radial-gradient(1000px 700px at 100% 110%, rgba(10,27,56,.06), transparent 55%),
		#C9D1E0;
}

/* Yüzen kart: yuvarlatılmış köşeler + çok katmanlı yumuşak gölge */
.auth-split {
	min-height: calc(100vh - 24px);
	border-radius: 18px;
	overflow: hidden;
	background: var(--surface);
	box-shadow:
		0 0 16px rgba(16,35,63,.16),
		0 8px 30px rgba(16,35,63,.15),
		0 16px 50px rgba(16,35,63,.12),
		0 30px 80px rgba(16,35,63,.08);
}

@media (max-width: 991.98px) {
	.auth-root { padding: 8px; }
	.auth-split { border-radius: 14px; min-height: calc(100vh - 16px); }
}

/* ── Sol sütun ─────────────────────────────────── */
.auth-left {
	background-color: var(--surface);
	position: relative;
	overflow: hidden;
}

/* Dekoratif dalga deseni */
.auth-left::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 220px;
	background-image:
		radial-gradient(120% 100% at 50% 100%, rgba(30,74,158,.05) 0%, transparent 60%),
		repeating-radial-gradient(circle at 12% 118%, transparent 0 38px, rgba(18,48,94,.045) 38px 39px);
	pointer-events: none;
	z-index: 0;
}

.auth-left > * { position: relative; z-index: 1; }

.auth-title {
	color: var(--navy);
	font-weight: 800;
	letter-spacing: -.01em;
	margin-bottom: .35rem;
}

.auth-title .auth-title-accent {
	color: var(--navy-light);
	font-weight: 700;
}

.auth-logo {
	height: 64px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	margin-bottom: 6px;
}

.auth-title-rule {
	width: 132px;
	height: 3px;
	margin: 0 auto .9rem;
	background: var(--gold);
	border-radius: 2px;
}

.auth-subtitle {
	color: var(--text-muted);
	font-size: .95rem;
}

/* Başlık bloğu — tüm auth sayfalarında ortak */
.auth-heading h1,
.auth-heading .auth-heading-title {
	color: var(--navy) !important;
	font-weight: 800;
	letter-spacing: -.01em;
}

.auth-heading .auth-heading-desc {
	color: var(--text-muted);
	font-size: .95rem;
}

/* ── Form alanları ─────────────────────────────── */
.auth-label {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--text-main);
	margin-bottom: 6px;
}

.auth-label .req { color: #EF4444; }

.auth-hint {
	font-size: .72rem;
	color: var(--text-muted);
	margin-top: 4px;
}

/* Alan içi ikonlu inputlar */
.auth-field { position: relative; }

.auth-field .auth-field-icon {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	color: var(--text-muted);
	font-size: .95rem;
	pointer-events: none;
}

.auth-field .form-control {
	height: 52px;
	padding-left: 46px;
	border: 1px solid var(--border);
	border-radius: 10px;
	background-color: #fff !important;
	color: var(--text-main);
}

/* İkonsuz alanlar da aynı görsel dili kullansın */
.auth-left .form-control,
.auth-left .form-select {
	border: 1px solid var(--border);
	border-radius: 10px;
	background-color: #fff !important;
	color: var(--text-main);
}

.auth-left textarea.form-control { height: auto; padding-left: 16px; }

.auth-left .form-control:focus,
.auth-left .form-select:focus,
.auth-field .form-control:focus {
	border-color: var(--navy-light) !important;
	box-shadow: 0 0 0 3px rgba(30,74,158,.10) !important;
}

.auth-left .form-control.is-invalid {
	border-color: #EF4444 !important;
	box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important;
}

.auth-field .auth-pw-toggle {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	color: var(--text-muted);
	padding: 4px;
	line-height: 1;
	cursor: pointer;
}

.auth-field .auth-pw-toggle:hover { color: var(--navy-light); }

/* Giriş / gönder butonu */
.btn.btn-primary.auth-submit,
.auth-left .btn.btn-primary {
	height: 56px;
	border-radius: 10px;
	border: 0;
	background: linear-gradient(135deg, var(--navy-light), var(--navy-mid)) !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 1rem;
	position: relative;
	box-shadow: 0 10px 24px -12px rgba(18,48,94,.75);
	transition: transform .15s ease, box-shadow .15s ease;
}

.btn.btn-primary.auth-submit:hover,
.auth-left .btn.btn-primary:hover:not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 14px 28px -12px rgba(18,48,94,.85);
}

.auth-left .btn.btn-primary:disabled { opacity: .7; transform: none; }

.auth-submit-arrow {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255,255,255,.16);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: .8rem;
}

.link-primary, .link-gold {
	color: var(--gold) !important;
	text-decoration: none;
}

.link-primary:hover, .link-gold:hover { color: var(--gold-light) !important; }

.separator.separator-content { border-color: var(--border) !important; }
.separator.separator-content span { color: var(--text-muted) !important; }

/* ── Uyarı kutuları ────────────────────────────── */
.auth-alert {
	padding: 12px 16px;
	border-radius: 10px;
	font-size: .85rem;
	border: 1px solid transparent;
}

.auth-alert.success { background: #ECFDF5; color: #065F46; border-color: #A7F3D0; }
.auth-alert.error   { background: #FEF2F2; color: #991B1B; border-color: #FECACA; }

/* ── Adım indikatörü (Şifremi Unuttum) ─────────── */
.step-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 28px;
}

.step-dot {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 2px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	color: var(--text-muted);
	background: #fff;
	transition: all .25s;
}

.step-dot.active {
	border-color: var(--navy-light);
	background: linear-gradient(135deg, var(--navy-light), var(--navy-mid));
	color: #fff;
	box-shadow: 0 6px 16px -8px rgba(18,48,94,.9);
}

.step-dot.done { border-color: var(--gold); background: var(--gold); color: #fff; }

.step-line {
	flex: 1;
	max-width: 56px;
	height: 2px;
	background: var(--border);
	transition: background .25s;
}

.step-line.done { background: var(--gold); }

#verify_code {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 12px;
	text-align: center;
	padding: 14px 8px;
	height: 64px;
}

/* ── Güven kartları ────────────────────────────── */
.auth-trust {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

.auth-trust-card {
	border: 1px solid var(--border);
	border-radius: 12px;
	background: #fff;
	padding: 16px 8px;
	text-align: center;
	transition: border-color .2s ease, transform .2s ease;
}

.auth-trust-card:hover {
	border-color: var(--navy-light);
	transform: translateY(-2px);
}

.auth-trust-icon {
	width: 38px;
	height: 38px;
	margin: 0 auto 8px;
	border-radius: 50%;
	border: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--navy-mid);
	font-size: .95rem;
}

.auth-trust-title {
	font-size: .78rem;
	font-weight: 700;
	color: var(--navy);
	line-height: 1.25;
}

.auth-trust-desc {
	margin-top: 4px;
	font-size: .68rem;
	color: var(--text-muted);
	line-height: 1.3;
}

/* ── Alt bilgi ─────────────────────────────────── */
/* Türkçe en solda sabit; linkler tüm genişlik boyunca ortalanır */
.auth-lang {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.auth-footer-links {
	gap: 10px 22px;
	row-gap: 8px;
}

@media (max-width: 575.98px) {
	.auth-lang { position: static; transform: none; }
}

.auth-footer-links a {
	position: relative;
	color: var(--navy-mid) !important;
	text-decoration: none;
	transition: color .2s;
}

/* Linkler arası ince ayraç — orantılı, ortalanmış görünüm */
.auth-footer-links a:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 12px;
	background: var(--border);
}

.auth-footer-links a:hover { color: var(--gold) !important; }

/* ── Sağ panel ─────────────────────────────────── */
.auth-aside {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 991.98px) {
	.auth-trust { grid-template-columns: repeat(2, 1fr); }
}
