/* Login page brand styling */
body {
    background: linear-gradient(135deg, var(--ata-navy) 0%, var(--ata-navy-dark) 60%, var(--ata-navy-light) 100%);
    min-height: 100vh;
}

.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--ata-card-pad) var(--ata-space-md);
}

.login-brand {
    text-align: center;
    margin-bottom: var(--ata-card-pad);
}

.login-brand img {
    background: rgba(255, 255, 255, 0.96);
    border-radius: var(--ata-radius-md);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
    max-width: 180px;
    padding: var(--ata-space-sm);
}

.login-brand h1 {
    color: var(--ata-surface);
    font-weight: var(--ata-fw-bold);
    font-size: var(--ata-fs-h2);
    margin-top: var(--ata-space-md);
    margin-bottom: var(--ata-space-xxs);
    letter-spacing: 0;
}

.login-brand p {
    color: rgba(255, 255, 255, 0.6);
    font-size: var(--ata-fs-small);
    margin-bottom: 0;
}

.login-card {
    border: none !important;
    border-top: 4px solid var(--ata-gold) !important; /* brand gold accent, matches website */
    border-radius: var(--ata-radius-md) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden;
}

.login-card .card-body {
    padding: var(--ata-card-pad) !important;
}

/* ATA forms add row-gap; avoid also applying Bootstrap's vertical gutters. */
.login-card form.row {
    --bs-gutter-y: 0;
}

.login-card .form-label {
    font-weight: var(--ata-fw-medium);
    color: var(--ata-body);
    font-size: var(--ata-fs-small);
}

.login-card .form-control {
    padding: var(--ata-control-pad-y) var(--ata-control-pad-x);
    border-radius: var(--ata-radius-sm);
    border-color: var(--ata-border);
}

.login-card .btn-primary {
    padding: var(--ata-control-pad-y) var(--ata-card-pad);
    font-size: var(--ata-fs-body);
    font-weight: var(--ata-fw-semibold);
    border-radius: var(--ata-radius-sm);
    letter-spacing: 0;
}

.captcha-input {
    margin-bottom: var(--ata-space-sm);
}

.captcha-code {
    font-size: var(--ata-fs-h3);
    font-weight: var(--ata-fw-bold);
    background-color: var(--ata-neutral-bg);
    padding: 10px var(--ata-control-pad-x);
    border: 2px dashed var(--ata-neutral-border);
    border-radius: var(--ata-radius-sm);
    display: inline-block;
    letter-spacing: 4px;
    color: var(--ata-ink);
    user-select: none;
}

.apply-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--ata-surface) !important;
    padding: var(--ata-space-xs) var(--ata-card-pad);
    border-radius: var(--ata-radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.25);
    text-decoration: none !important;
    font-weight: var(--ata-fw-medium);
    font-size: var(--ata-fs-small);
    transition: all 0.2s ease;
    margin-top: 0.5rem;
}

.apply-link:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}

.login-footer {
    text-align: center;
    margin-top: var(--ata-card-pad);
    color: var(--ata-surface);
    font-size: var(--ata-fs-small);
}
.login-heading {
    color: var(--ata-navy);
    font-size: var(--ata-fs-h3);
}
.login-helper {
    font-size: var(--ata-fs-small);
}
.login-alert-note {
    color: var(--ata-danger-text);
}
.login-application-cta {
    border-top: 1px solid var(--ata-border);
}
.ata-password-toggle {
    justify-content: center;
    min-width: 44px;
}
.ata-forgot-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}
.ata-apply-button {
    min-height: 44px;
}
.password-strength-status {
    color: var(--ata-danger-text);
}
