/* Müşteri giriş sayfası (/login). Renkler home-modern.css'teki --tt-* değişkenlerinden. */
.au-wrap { padding: 56px 0 80px; background: linear-gradient(160deg, #f4f3ff 0%, #eef5ff 55%, #fff 100%); }
.au-card { display: grid; grid-template-columns: 5fr 6fr; max-width: 960px; margin: 0 auto; background: #fff; border: 1px solid var(--tt-line); border-radius: var(--tt-radius); box-shadow: 0 30px 60px -30px rgba(30, 42, 59, .3); overflow: hidden; }

.au-side { position: relative; padding: 48px 40px; color: #fff; background: linear-gradient(150deg, var(--tt-primary) 0%, #5b8ff5 60%, var(--tt-primary-2) 100%); }
.au-side::after { content: ''; position: absolute; right: -80px; bottom: -80px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255, 255, 255, .08); }
.au-eyebrow { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .85rem; border-radius: 999px; background: rgba(255, 255, 255, .16); font-size: .8rem; font-weight: 700; }
.au-side h2 { color: #fff; font-size: 1.6rem; font-weight: 800; line-height: 1.3; margin: 1.25rem 0 2rem; }
.au-perks { list-style: none; padding: 0; margin: 0; position: relative; z-index: 1; }
.au-perks li { display: flex; gap: .9rem; margin-bottom: 1.4rem; }
.au-perks i { flex: none; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .16); }
.au-perks strong { display: block; font-weight: 700; margin-bottom: .1rem; }
.au-perks span { font-size: .9rem; line-height: 1.5; opacity: .92; }

.au-main { padding: 48px 48px 40px; }
.au-main h1 { font-size: 1.9rem; font-weight: 800; margin: 0 0 .4rem; }
.au-lead { color: var(--tt-muted); margin: 0 0 1.75rem; }
.au-label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--tt-muted); }
.au-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.au-link { font-size: .85rem; font-weight: 600; color: var(--tt-primary); }
.au-form .form-control { border-radius: 12px; border-color: var(--tt-line); min-height: 48px; }
.au-form .form-control:focus { border-color: var(--tt-primary); box-shadow: 0 0 0 4px rgba(118, 109, 244, .15); }
.au-form .iti { width: 100%; }
#valid-msg, #error-msg { text-transform: none; letter-spacing: 0; margin-left: .35rem; }
.au-password { position: relative; }
.au-password .form-control { padding-right: 52px; }
.au-eye { position: absolute; top: 0; right: 0; width: 48px; height: 100%; border: 0; background: none; color: var(--tt-muted); }
.au-eye:hover, .au-eye:focus-visible { color: var(--tt-primary); }
.au-eye i { pointer-events: none; }
.au-submit { min-height: 50px; margin-top: .5rem; }
.au-secondary { min-height: 48px; border-radius: 12px; font-weight: 600; }

.au-divider { display: flex; align-items: center; gap: 1rem; margin: 1.75rem 0 1rem; color: var(--tt-muted); font-size: .85rem; }
.au-divider::before, .au-divider::after { content: ''; flex: 1; height: 1px; background: var(--tt-line); }
.au-secure { margin: 1.5rem 0 0; text-align: center; color: var(--tt-muted); font-size: .8rem; }
.au-secure i { margin-right: .35rem; }

.au-alert { display: flex; gap: .6rem; align-items: flex-start; padding: .8rem 1rem; border-radius: 12px; margin-bottom: 1.25rem; font-size: .92rem; }
.au-alert i { margin-top: .2rem; }
.au-alert--error { background: #ffe9ee; color: #b4234a; }
.au-alert--success { background: #e6f7ef; color: #13784f; }

@media (max-width: 767.98px) {
  .au-wrap { padding: 24px 0 48px; }
  .au-card { grid-template-columns: 1fr; }
  .au-side { display: none; }
  .au-main { padding: 28px 20px 24px; }
  .au-main h1 { font-size: 1.6rem; }
}
