/* =============================================================
   TURLAGO AUTH — turlago.com ana site tasarım dili (v4)
   Metronic admin-şablonu görünümü CSS ile eziliyor; markup
   sözleşmeleri (name/id/action/indicator/password-meter) korunuyor.

   Bölümler:
     a) DMSans @font-face (turlago.com/styles/fonts.css ile birebir)
     b) Tipografi override'ı (Inter -> DMSans)
     c) Marka değişkenleri (panel kimliği: #3255cc)
     d) Zemin + dekoratif ışık küreleri
     e) Sol panel
     f) Kart kabuğu
     g) Kart başlık bölümü (rozet)
     h) Form elemanları — ana site input dili
     i) Butonlar
     j) Kart footer
     k) Alertler
     l) OTP
     m) Şifre gücü ölçer (Metronic bloğu — işlevi bozmadan renk uyumu)
     n) Animasyonlar
     o) Responsive
     p) Hareket azaltma tercihi
   ============================================================= */

/* ---------- a) DMSans @font-face ---------- */
@font-face {
	font-family: "DMSans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	text-rendering: optimizeLegibility;
	src: url("/assets/fonts/dmsans/DMSans-Light.woff2") format("woff2-variations");
}
@font-face {
	font-family: "DMSans";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	text-rendering: optimizeLegibility;
	src: url("/assets/fonts/dmsans/DMSans-Regular.woff2") format("woff2-variations");
}
@font-face {
	font-family: "DMSans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	text-rendering: optimizeLegibility;
	src: url("/assets/fonts/dmsans/DMSans-SemiBold.woff2") format("woff2-variations");
}
@font-face {
	font-family: "DMSans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	text-rendering: optimizeLegibility;
	src: url("/assets/fonts/dmsans/DMSans-Bold.woff2") format("woff2-variations");
}

/* ---------- b) Tipografi: style.bundle.css'in Inter'ini ez ---------- */
/* Ana site gövde varsayılanı DMSans 500'dür. */
body.auth-bg,
body.auth-bg .auth-card,
body.auth-bg .auth-card *,
body.auth-bg .auth-left-panel,
body.auth-bg .auth-left-panel * {
	font-family: "DMSans", sans-serif !important;
}
body.auth-bg {
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* İkon fontları tipografi override'ından muaf tutulur */
body.auth-bg .hgi-stroke,
body.auth-bg .auth-card .hgi-stroke,
body.auth-bg .auth-left-panel .hgi-stroke {
	font-family: "hgi-stroke-rounded" !important;
}
body.auth-bg .ki-duotone,
body.auth-bg .ki-outline,
body.auth-bg .ki-solid,
body.auth-bg .auth-card .ki-duotone,
body.auth-bg .auth-card .ki-outline,
body.auth-bg .auth-card .ki-solid {
	font-family: keenicons-duotone, keenicons-outline, keenicons-solid !important;
}
body.auth-bg .auth-card .ki-outline {
	font-family: keenicons-outline !important;
}
body.auth-bg .auth-card .ki-solid {
	font-family: keenicons-solid !important;
}
body.auth-bg .auth-card .ki-duotone {
	font-family: keenicons-duotone !important;
}

/* ---------- c) Marka değişkenleri (panel kimliği korunur) ---------- */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
	--bs-primary: #3255cc !important;
	--bs-primary-rgb: 50, 85, 204 !important;
	--bs-primary-active: #2947b8 !important;
	--bs-primary-light: #e7f0ff !important;
	--bs-text-primary: #3255cc !important;

	/* Ana siteden alınan nötrler */
	--tlg-border: #e5e7eb;      /* gray-200 */
	--tlg-border-soft: #f3f4f6; /* gray-100 */
	--tlg-ink: #111827;         /* gray-900 */
	--tlg-muted: #6b7280;       /* gray-500 */
	--tlg-muted-strong: #4b5563;/* gray-600 */
	--tlg-icon: #9ca3af;        /* gray-400 */
	--tlg-danger: #f8285a;
	--tlg-success: #2d7d54;
}
.link-primary,
.auth-card .link-primary {
	color: #3255cc !important;
	text-decoration: none !important;
}
.link-primary:focus,
.link-primary:hover {
	color: #2947b8 !important;
	text-decoration-color: #2947b8 !important;
}

/* ---------- d) Zemin + dekoratif katmanlar ---------- */
body.auth-bg {
	background-image: url('/assets/acente-login-bg.jpg?v=1');
}
body.auth-bg::before {
	content: '';
	position: fixed;
	inset: 0;
	background: linear-gradient(120deg, rgba(19, 32, 84, .90) 0%, rgba(41, 71, 184, .64) 55%, rgba(50, 85, 204, .44) 100%);
	z-index: 0;
}
/* Çok hafif nokta dokusu — zemine derinlik verir, metni engellemez */
body.auth-bg::after {
	content: '';
	position: fixed;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, .5) 1px, transparent 1px);
	background-size: 26px 26px;
	opacity: .05;
	pointer-events: none;
	z-index: 0;
}
.auth-root {
	position: relative;
	z-index: 1;
}

/* Blurlu ışık küreleri (dekor katmanı) */
.auth-orbs {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
}
.auth-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
}
.auth-orb--1 {
	width: 460px;
	height: 460px;
	top: -140px;
	left: -120px;
	background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 70%);
	opacity: .20;
}
.auth-orb--2 {
	width: 620px;
	height: 620px;
	bottom: -260px;
	left: 8%;
	background: radial-gradient(circle at 50% 50%, rgba(126, 175, 255, .8), rgba(126, 175, 255, 0) 70%);
	opacity: .18;
	filter: blur(120px);
}
.auth-orb--3 {
	width: 340px;
	height: 340px;
	top: 32%;
	right: 6%;
	background: radial-gradient(circle at 50% 50%, rgba(160, 205, 255, .75), rgba(160, 205, 255, 0) 70%);
	opacity: .12;
	filter: blur(80px);
}

/* ---------- e) Sol panel ---------- */
.auth-left-panel {
	position: relative;
	z-index: 1;
	max-width: 560px;
	width: 100%;
}
.auth-brand-logo {
	max-width: 280px;
	width: 100%;
}
/* Eyebrow etiketi — başlığın üstünde küçük, harf aralıklı marka satırı */
.auth-eyebrow {
	color: rgba(255, 255, 255, .6);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	line-height: 1;
}
.auth-brand-title {
	font-size: clamp(2rem, 1.4rem + 2vw, 3.25rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.03em;
}
.auth-brand-tagline {
	color: rgba(255, 255, 255, .72);
	font-weight: 500;
	max-width: 34rem;
	line-height: 1.55;
}

/* ---------- Ürün vinyeti (dekoratif sahte-UI katmanları) ----------
   Madde listesi yerine panelin ne yaptığını GÖSTEREN iki katmanlı sahne.
   İçerik jeneriktir: gerçek isim/işletme/tutar yoktur, tutar maskelidir. */
.auth-vignette {
	position: relative;
	width: 100%;
	max-width: 27rem;
	margin-top: 2.75rem;
	/* alttaki kartın taşan kısmı + float salınımı için pay */
	padding-bottom: 5.5rem;
}
.auth-vig-card {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 18px;
	backdrop-filter: blur(14px) saturate(1.15);
	-webkit-backdrop-filter: blur(14px) saturate(1.15);
	box-shadow: 0 18px 44px rgba(8, 18, 52, .32);
}
/* Öndeki bildirim kartı */
.auth-vig-card--notify {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	padding: 1rem 1.15rem;
	transform: rotate(-1.4deg);
	animation: authFloatA 7s ease-in-out infinite;
}
/* Arkadaki kazanç kartı — çapraz biner, biraz daha küçük ve sönük */
.auth-vig-card--earnings {
	position: absolute;
	z-index: 1;
	right: .25rem;
	bottom: 0;
	width: 61%;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding: .9rem 1rem;
	background: rgba(255, 255, 255, .08);
	transform: rotate(2deg);
	animation: authFloatB 8s ease-in-out infinite;
}
.auth-vig-icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: rgba(255, 255, 255, .16);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1rem;
}
.auth-vig-body {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	min-width: 0;
	flex: 1 1 auto;
}
.auth-vig-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
}
.auth-vig-title {
	color: #fff;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.3;
}
.auth-vig-time {
	color: rgba(255, 255, 255, .55);
	font-size: .6875rem;
	font-weight: 500;
	white-space: nowrap;
}
.auth-vig-desc {
	color: rgba(255, 255, 255, .62);
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.35;
}
.auth-vig-label {
	color: rgba(255, 255, 255, .6);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.auth-vig-trend {
	color: #7ef0b4;
	font-size: .95rem;
	line-height: 1;
	display: flex;
}
/* Tutar bilerek maskeli — merak uyandırır, uydurma rakam vermez */
.auth-vig-amount {
	color: #fff;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.1;
}
/* Mini çubuk grafik (dekoratif) */
.auth-vig-bars {
	display: flex;
	align-items: flex-end;
	gap: .3rem;
	height: 34px;
	margin-top: .15rem;
}
.auth-vig-bar {
	flex: 1 1 0;
	background: rgba(255, 255, 255, .28);
	border-radius: 3px;
	min-height: 4px;
}
.auth-vig-bar--now {
	background: rgba(126, 240, 180, .85);
}

/* ---------- Güven chip'leri ---------- */
.auth-chips {
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .5rem;
	width: 100%;
	max-width: 30rem;
}
.auth-chip {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .4rem .75rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .16);
	color: rgba(255, 255, 255, .82);
	font-size: .75rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.auth-chip .hgi-stroke {
	font-size: .9rem;
	line-height: 1;
	color: rgba(255, 255, 255, .7);
}

/* Yavaş float — iki kart farklı fazda salınır */
@keyframes authFloatA {
	0%, 100% { transform: rotate(-1.4deg) translateY(0); }
	50%      { transform: rotate(-1.4deg) translateY(-6px); }
}
@keyframes authFloatB {
	0%, 100% { transform: rotate(2deg) translateY(0); }
	50%      { transform: rotate(2deg) translateY(5px); }
}

/* ---------- f) Kart kabuğu ---------- */
/* Ana site dili: düz beyaz zemin, 24px radius, yumuşak gölge, ince kenarlık.
   Admin-şablon kokan üst gradient şerit ve glass tint KALDIRILDI. */
.auth-card {
	background: #fff;
	border: 1px solid var(--tlg-border-soft);
	border-radius: 24px;
	box-shadow: 0 24px 64px rgba(13, 25, 66, .22);
	max-width: 500px;
	width: 100%;
	padding: 2.5rem 2.75rem;
	position: relative;
	display: flex;
	flex-direction: column;
}
.auth-card--wide {
	max-width: 540px;
}
/* Kart içindeki form/blok dikeyde esner; footer alta yapışır.
   İçerik (başlık + alanlar + buton + güvence satırı) dikeyde ORTALANIR:
   artan boşluk içeriğin üstüne ve altına EŞİT dağılır, böylece içerik
   kartın tepesine yığılıp altta kocaman beyaz alan bırakmaz.

   MEKANİZMA (headless ölçümle doğrulandı): iki EŞLEŞEN auto margin —
   ilk çocukta margin-top:auto, footer'da margin-top:auto. Flex'te birden
   çok auto margin serbest alanı EŞİT paylaşır; böylece içerik ortalanır ve
   footer en altta kalır. justify-content:center burada İŞE YARAMAZ, çünkü
   footer'ın auto margin'i tüm serbest alanı yutup ortalamayı iptal eder. */
.auth-card > form,
.auth-card > .auth-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
/* Kart içeriği kendi doğal yüksekliğini korur (esneyip bozulmaz) */
.auth-card > form > *,
.auth-card > .auth-card-body > * {
	flex: 0 0 auto;
}
/* Üst esnek boşluk — GÖRÜNÜR ilk bloğa (başlık auth-section'ı) uygulanır.
   DİKKAT / KÖK NEDEN: burada *:first-child KULLANILAMAZ. Blade'de @csrf,
   formun ilk çocuğu olarak <input type="hidden" name="_token"> basar;
   hidden input display:none olduğu için flex düzenine katılmaz ve auto
   margin hiç etki etmez → üst boşluk 0 kalır, içerik yine tepeye yığılır.
   div:first-of-type gizli input'u atlayıp ilk görünür div'i hedefler.
   (register'daki @method('POST') ikinci hidden input'u da etkisizdir.) */
.auth-card > form > div:first-of-type,
.auth-card > .auth-card-body > div:first-of-type {
	margin-top: auto;
}
/* Alt esnek boşluk — footer'ı en alta iter ve üsttekiyle eşit paylaşır.
   İçerik min-height'tan uzunsa (register) her iki auto margin 0'a iner:
   kart doğal yüksekliğinde uzar, taşma/kırpma olmaz. */
.auth-card > form > .auth-footer,
.auth-card > .auth-card-body > .auth-footer {
	margin-top: auto;
}
.auth-footer {
	padding-top: 1.25rem;
	border-top: 1px solid var(--tlg-border-soft);
}
/* Footer'da tarayicida gorunur icerik yoksa (yalnizca app-only link var):
   link gizliyken ayrac ve bosluk hic cizilmez; JS d-none'i kaldirinca geri gelir. */
.auth-footer--app-only {
	padding-top: 0;
	border-top: 0;
}
.auth-footer--app-only:has(.auth-switch-link:not(.d-none)) {
	padding-top: 1.25rem;
	border-top: 1px solid var(--tlg-border-soft);
}
/* :has() desteklemeyen tarayicilar icin yedek: link acildiginda layout
   scripti .auth-footer--revealed sinifini de ekler. */
.auth-footer--app-only.auth-footer--revealed {
	padding-top: 1.25rem;
	border-top: 1px solid var(--tlg-border-soft);
}
@media (min-width: 992px) {
	/* 640px login gibi kısa içerikte fazla boşluk üretiyordu; 580px sol
	   panelle görsel dengeyi korurken yığılma hissini bitiriyor. */
	.auth-card {
		min-height: 580px;
	}
}

/* ---------- g) Kart başlık bölümü ---------- */
/* Rozet (auth-badge) kaldırıldı: her başlık kendi satır-içi ikonunu taşır. */
.auth-title {
	color: var(--tlg-ink);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.2;
	letter-spacing: -.02em;
}
/* Başlıkla aynı satırdaki marka ikonu — boyut başlıkla orantılı (em),
   dikey hizası optik olarak metne oturtulur. */
.auth-title-icon {
	color: #3255cc;
	font-size: .9em;
	line-height: 1;
	margin-right: .4rem;
	vertical-align: -.06em;
}
/* Ortalanmış başlıklarda ikon+metin blok olarak ortalanır */
.text-center .auth-title {
	display: flex;
	align-items: center;
	justify-content: center;
}
.text-center .auth-title .auth-title-icon {
	margin-right: .45rem;
	vertical-align: baseline;
}
.auth-subtitle {
	color: var(--tlg-muted);
	font-weight: 500;
	line-height: 1.55;
}

/* Ana site "veya" ayracı deseni: iki yana ince çizgi, ortada küçük gri metin */
.auth-divider {
	display: flex;
	align-items: center;
	font-size: .75rem;
	color: var(--tlg-muted);
}
.auth-divider::before,
.auth-divider::after {
	content: '';
	flex: 1 1 auto;
	border-top: 1px solid var(--tlg-border);
}
.auth-divider::before {
	margin-right: 1.5rem;
}
.auth-divider::after {
	margin-left: 1.5rem;
}

/* ---------- h) Form elemanları — ana site input dili ---------- */
/* Label YOK, placeholder + solda ikon. Beyaz zemin, 16px radius, ~56px yükseklik.
   Focus'ta mavi glow YOK: kenarlık gray-900'e koyulaşır. */
.auth-field {
	position: relative;
}
.auth-card .form-control,
.auth-card .form-select {
	background: #fff;
	border: 1px solid var(--tlg-border);
	border-radius: 16px;
	padding: 1rem 1rem 1rem 3rem;
	min-height: 56px;
	font-size: .95rem;
	font-weight: 500;
	color: var(--tlg-ink);
	box-shadow: none;
	transition: border-color .18s ease;
}
.auth-card .form-control::placeholder {
	color: var(--tlg-icon);
	font-weight: 500;
}
.auth-card .form-control:focus,
.auth-card .form-select:focus {
	background: #fff;
	border-color: var(--tlg-ink);
	box-shadow: none;
	outline: none;
}
/* Focus'ta sol ikon markaya döner — ince marka dokunuşu */
.auth-field:focus-within .auth-field-icon {
	color: #3255cc;
}

/* Solda ikon sarmalayıcı */
.auth-field-icon {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	padding-left: 1rem;
	pointer-events: none;
	color: var(--tlg-icon);
	font-size: 1.25rem;
	line-height: 1;
	z-index: 3;
	transition: color .18s ease;
}
.auth-field-icon .hgi-stroke {
	display: block;
	line-height: 1;
}

/* Şifre alanında sağdaki göz toggle'ına yer aç */
.auth-field--password .form-control {
	padding-right: 3rem;
}

/* Telefon: ülke kodu + numara. Ana site dilinde iki ayrı yuvarlak alan yerine
   birleşik grup; ülke kodu select'inde sol ikon yok. */
.auth-card .input-group {
	gap: .5rem;
	flex-wrap: nowrap;
}
.auth-card .input-group > .form-control,
.auth-card .input-group > .form-select {
	border-radius: 16px !important;
}
/* Ülke kodu: Bootstrap'ın .input-group > .form-control kuralı width:1% dayatıp
   select'i ok simgesine kadar büzüyordu (ekranda yalnız ok görünüyordu);
   bu yüzden flex-basis + width + min-width birlikte eziliyor.
   Kapalı kutuda artık yalnız alan kodu ("+90") yazıyor (register.blade.php'deki
   script), o yüzden 6.5rem yeterli: kod + ok rahat sığar, kalan genişliği
   telefon numarası alanı alır. Açılır listede ülke adları tam görünür. */
.auth-card .country-code {
	flex: 0 0 6.5rem;
	width: 6.5rem;
	min-width: 6.5rem;
	max-width: 6.5rem;
	padding-left: 1rem;
	/* native select oku için sağ boşluk */
	padding-right: 2rem;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .85rem center;
}
/* Numara alanı grup içinde solda ikon taşımaz; kalan genişliği doldurur */
.auth-card .input-group > #phone_number {
	padding-left: 1rem;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}

/* Şifre göz ikonu */
.auth-visibility-toggle {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	color: var(--tlg-icon);
	font-size: 1.125rem;
	line-height: 1;
	z-index: 4;
	transition: color .18s ease;
}
.auth-visibility-toggle:hover {
	color: var(--tlg-ink);
}
.auth-visibility-toggle .hgi-stroke {
	display: block;
	line-height: 1;
}

/* Kart içi dikey ritim — ana site space-y-5 / space-y-3 dili */
.auth-section {
	margin-bottom: 1.25rem;
}
.auth-stack > * + * {
	margin-top: .75rem;
}

/* ---------- i) Butonlar ---------- */
.auth-card .btn-primary,
.auth-card .auth-btn-primary {
	width: 100%;
	background: linear-gradient(135deg, #3a62e0 0%, #2947b8 100%);
	border: none;
	border-radius: 16px;
	padding: 1rem;
	color: #fff;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.5;
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.auth-card .btn-primary:hover,
.auth-card .btn-primary:focus,
.auth-card .btn-primary:active,
.auth-card .auth-btn-primary:hover,
.auth-card .auth-btn-primary:focus,
.auth-card .auth-btn-primary:active {
	background: linear-gradient(135deg, #3358cc 0%, #223da0 100%);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(50, 85, 204, .28);
}
.auth-card .btn-primary:disabled,
.auth-card .btn-primary.disabled {
	opacity: .65;
	transform: none;
	box-shadow: none;
}

/* İkincil buton — ana site outline deseni */
.auth-card .btn-light,
.auth-card .btn-light-primary,
.auth-card .auth-btn-outline {
	display: block;
	width: 100%;
	background: transparent;
	border: 1px solid #3255cc;
	border-radius: 16px;
	padding: 1rem;
	color: #3255cc;
	font-weight: 700;
	font-size: .875rem;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.auth-card .btn-light:hover,
.auth-card .btn-light:focus,
.auth-card .btn-light-primary:hover,
.auth-card .btn-light-primary:focus,
.auth-card .auth-btn-outline:hover,
.auth-card .auth-btn-outline:focus {
	background: #3255cc;
	border-color: #3255cc;
	color: #fff;
}

/* Güvence satırı (kilit/kalkan + kısa metin) */
.auth-assurance {
	color: var(--tlg-muted);
	font-size: .8125rem;
	font-weight: 500;
}
.auth-assurance .hgi-stroke {
	color: var(--tlg-success);
	font-size: 1rem;
	line-height: 1;
}

/* ---------- j) Kart footer ---------- */
.auth-footer-text {
	color: var(--tlg-muted);
	font-size: .875rem;
	font-weight: 500;
}
.auth-footer a.link-primary {
	font-weight: 600;
}
.auth-switch-link {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	color: var(--tlg-muted);
	font-size: .875rem;
	font-weight: 500;
	text-decoration: none;
	transition: color .2s ease;
}
.auth-switch-link:hover {
	color: #3255cc;
}
.auth-switch-link .hgi-stroke {
	font-size: 1rem;
	line-height: 1;
}

/* ---------- k) Alertler — turlago-status-card dili ---------- */
.auth-alert {
	display: flex;
	align-items: flex-start;
	gap: .875rem;
	border: none;
	border-radius: 16px;
	padding: 1rem 1.125rem;
	margin-bottom: 1.25rem;
	width: 100%;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.5;
}
.auth-alert-icon {
	flex: 0 0 auto;
	font-size: 1.375rem;
	line-height: 1.2;
}
.auth-alert-title {
	font-weight: 700;
	font-size: .9375rem;
	margin: 0 0 .125rem;
	line-height: 1.35;
}
.auth-alert ul {
	margin: 0;
	padding-left: 1.1rem;
}
.auth-alert--success {
	background: #e8fff3;
	color: #1c5c3d;
}
.auth-alert--success .auth-alert-icon,
.auth-alert--success .auth-alert-title {
	color: var(--tlg-success);
}
.auth-alert--danger {
	background: #fdecf1;
	color: #8e1230;
}
.auth-alert--danger .auth-alert-icon,
.auth-alert--danger .auth-alert-title {
	color: var(--tlg-danger);
}

/* ---------- l) OTP ---------- */
.auth-otp-input {
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	letter-spacing: .55em;
	text-indent: .55em;
	text-align: center;
	font-variant-numeric: tabular-nums;
	min-height: 64px;
	padding: 1rem !important;
	max-width: 320px;
	margin: 0 auto;
}
.auth-otp-input::placeholder {
	letter-spacing: normal;
	text-indent: 0;
	font-size: .95rem;
	font-weight: 500;
}
/* OTP alanında sol ikon yok — ikon boşluğu geri alınır (display:block ortalar) */
.auth-card .auth-otp-input {
	display: block;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

/* ---------- m) Şifre gücü ölçer (Metronic bloğu) ---------- */
/* İşlevi Metronic JS'ine bağlı; markup'a dokunmadan yalnızca görsel uyum. */
.auth-card [data-kt-password-meter] .form-control {
	padding-left: 3rem;
}
.auth-card [data-kt-password-meter-control="visibility"] {
	color: var(--tlg-icon);
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	margin: 0 !important;
	background: transparent;
	border: none;
	z-index: 4;
}
.auth-card [data-kt-password-meter-control="visibility"]:hover {
	background: transparent;
	color: var(--tlg-ink);
}
.auth-card [data-kt-password-meter-control="visibility"] .ki-duotone {
	color: inherit;
}
.auth-card [data-kt-password-meter-control="highlight"] > div {
	border-radius: 999px;
}
.auth-password-hint {
	color: var(--tlg-muted);
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.5;
}

/* ---------- n) Animasyonlar ---------- */
@keyframes authFadeUp {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
@keyframes authFadeLeft {
	from {
		opacity: 0;
		transform: translateX(-18px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
.auth-card {
	animation: authFadeUp .5s cubic-bezier(.22, 1, .36, 1) both;
}
.auth-left-panel > * {
	animation: authFadeLeft .6s cubic-bezier(.22, 1, .36, 1) both;
}
.auth-left-panel > *:nth-child(1) { animation-delay: .00s; }
.auth-left-panel > *:nth-child(2) { animation-delay: .08s; }
.auth-left-panel > *:nth-child(3) { animation-delay: .14s; }
.auth-left-panel > *:nth-child(4) { animation-delay: .20s; }
.auth-left-panel > *:nth-child(5) { animation-delay: .26s; }
.auth-left-panel > *:nth-child(6) { animation-delay: .32s; }
/* NOT: Giriş animasyonu (authFadeLeft) yalnızca .auth-vignette KABINA
   uygulanır — vinyet kartlarına DEĞİL. Kartlara uygulansaydı fadeLeft'in
   transform'u, kartların rotate() + float transform'unu ezerdi. */

.auth-stagger > * {
	animation: authFadeUp .45s cubic-bezier(.22, 1, .36, 1) both;
}
.auth-stagger > *:nth-child(1) { animation-delay: .00s; }
.auth-stagger > *:nth-child(2) { animation-delay: .05s; }
.auth-stagger > *:nth-child(3) { animation-delay: .10s; }
.auth-stagger > *:nth-child(4) { animation-delay: .15s; }
.auth-stagger > *:nth-child(5) { animation-delay: .20s; }
.auth-stagger > *:nth-child(6) { animation-delay: .25s; }
.auth-stagger > *:nth-child(7) { animation-delay: .30s; }
.auth-stagger > *:nth-child(8) { animation-delay: .35s; }

/* ---------- o) Responsive ---------- */
@media (max-width: 991.98px) {
	.auth-brand-logo {
		max-width: 170px;
	}
	.auth-card {
		padding: 1.75rem 1.5rem;
		border-radius: 20px;
	}
	.auth-title {
		font-size: 1.5rem;
	}
	.auth-orb {
		display: none;
	}
}
@media (max-width: 575.98px) {
	/* Dar ekranda numara alanına yer açılır ama kod hâlâ okunur kalır */
	.auth-card .country-code {
		flex: 0 0 5.5rem;
		width: 5.5rem;
		min-width: 5.5rem;
		max-width: 5.5rem;
		font-size: .875rem;
		padding-left: .75rem;
		background-position: right .6rem center;
	}
	.auth-otp-input {
		font-size: 1.25rem !important;
		letter-spacing: .4em;
		text-indent: .4em;
	}
}

/* ---------- p) Hareket azaltma tercihi ---------- */
@media (prefers-reduced-motion: reduce) {
	.auth-card,
	.auth-stagger > *,
	.auth-left-panel > * {
		animation: none !important;
	}
	/* Vinyet float'ı kapanır; kartların rotate duruşu korunur (statik sahne) */
	.auth-vig-card--notify {
		animation: none !important;
		transform: rotate(-1.4deg);
	}
	.auth-vig-card--earnings {
		animation: none !important;
		transform: rotate(2deg);
	}
	.auth-card .btn-primary:hover,
	.auth-card .auth-btn-primary:hover {
		transform: none;
	}
}
