/* Oturum açma ve parola ekranları — panel.css belirteçleri üzerine */

.au-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }

.au-hero {
    position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 40px 48px; color: #fff;
    background: radial-gradient(700px 360px at 85% -10%, rgba(232, 163, 61, .45), transparent 70%), radial-gradient(600px 400px at -10% 110%, rgba(124, 92, 255, .35), transparent 70%), linear-gradient(140deg, #0f1730 0%, #1c2a63 50%, #2f4fd0 100%);
}
.au-hero::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px); background-size: 20px 20px; mask-image: linear-gradient(120deg, transparent 20%, #000 90%); pointer-events: none; }
.au-hero > * { position: relative; z-index: 1; }
.au-brand { display: flex; align-items: center; gap: 12px; }
.au-brand img { height: 56px; width: auto; }
.au-brand-mobile img { height: 44px; }
.au-brand strong { display: block; font-size: 17px; line-height: 1.1; }
.au-brand small { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.au-hero-body { max-width: 480px; }
.au-hero h2 { color: #fff; font-size: 38px; line-height: 1.15; font-weight: 750; letter-spacing: -.03em; }
.au-hero p { margin: 14px 0 28px; color: rgba(255, 255, 255, .78); font-size: 15px; line-height: 1.6; }
.au-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.au-points li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(6px); }
.au-points i { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 10px; background: rgba(255, 255, 255, .14); font-size: 17px; }
.au-points strong { display: block; font-size: 14px; }
.au-points span { font-size: 13px; color: rgba(255, 255, 255, .75); }
.au-hero-foot { font-size: 12.5px; color: rgba(255, 255, 255, .6); }

.au-main { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 24px; }
.au-card { width: min(420px, 100%); }
.au-brand-mobile { display: none; margin-bottom: 28px; color: var(--text); }
.au-card h1 { font-size: 28px; font-weight: 750; letter-spacing: -.02em; }
.au-lead { margin: 8px 0 26px; color: var(--text-3); font-size: 14.5px; line-height: 1.55; }

.au-field { display: grid; gap: 6px; margin-bottom: 16px; }
.au-field label { font-size: 13px; font-weight: 600; color: var(--text-2); }
.au-input { position: relative; }
.au-input > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-3); font-size: 16px; pointer-events: none; }
.au-input input {
    width: 100%; height: 48px; padding: 0 46px 0 42px; border-radius: 13px; border: 1px solid var(--border); background: var(--surface); color: var(--text);
    font: inherit; font-size: 15px; transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.au-input input::placeholder { color: var(--text-3); }
.au-input input:hover { border-color: var(--border-strong); }
.au-input input:focus { outline: none; border-color: var(--primary); box-shadow: var(--ring); }
.au-input input.input-validation-error { border-color: var(--danger); }
.au-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 10px; background: none; color: var(--text-3); cursor: pointer; display: grid; place-items: center; font-size: 17px; }
.au-eye:hover { background: var(--surface-3); color: var(--text); }
.au-field .field-validation-error, .au-field .text-danger { color: var(--danger); font-size: 12.5px; }

.au-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 22px; font-size: 13.5px; }
.au-check { display: inline-flex; align-items: center; gap: 8px; color: var(--text-2); cursor: pointer; }
.au-check input { width: 18px; height: 18px; accent-color: var(--primary); cursor: pointer; }

.au-submit { width: 100%; min-height: 50px; font-size: 15px; border-radius: 13px; }
.au-submit.is-busy { pointer-events: none; opacity: .85; }
.au-submit.is-busy::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: nt-spin .8s linear infinite; }

.au-alert { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; margin-bottom: 18px; font-size: 13.5px; }
.au-alert i { font-size: 16px; margin-top: 1px; }
.au-alert.is-error { background: var(--danger-soft); color: var(--danger); }
.au-alert.is-info { background: var(--info-soft); color: var(--info); }
.au-alert.is-success { background: var(--success-soft); color: var(--success); }
.au-alert ul { margin: 0; padding-left: 16px; }

.au-alt { margin-top: 22px; text-align: center; font-size: 13.5px; color: var(--text-3); }
.au-state { text-align: center; }
.au-state .au-state-icon { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 18px; display: grid; place-items: center; font-size: 28px; }
.au-foot { margin-top: 28px; font-size: 12.5px; }

@media (max-width: 991px) {
    .au-shell { grid-template-columns: minmax(0, 1fr); }
    .au-hero { display: none; }
    .au-brand-mobile { display: flex; }
    .au-main { justify-content: flex-start; padding-top: 12vh; }
}
@media (max-width: 480px) {
    .au-main { padding: 9vh 16px 24px; }
    .au-card h1 { font-size: 24px; }
}
