.auth-wrapper {
    min-height: 60vh;
    padding: 24px 16px;
}

.auth-card {
    max-width: 440px;
    border-radius: 18px;
    border: 1px solid var(--border-light);
    background: var(--bg-card, #fff);
}

.auth-body {
    padding: 36px 32px;
}

.auth-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-lg, 10px);
    background: transparent;
    border: 1.5px solid var(--theme-secondary);
    color: var(--theme-secondary);
}

.auth-title {
    font-size: var(--fs-3xl);
    font-weight: 800;
    color: var(--text-ink);
    margin-bottom: 3px;
}

.auth-sub {
    font-size: var(--fs-base);
    color: var(--text-muted);
}

.auth-label {
    font-size: var(--fs-13);
    color: var(--text-ink, #374151);
    margin-bottom: 5px;
}

.auth-input {
    border: 1.5px solid var(--border-light);
    border-radius: 10px;
    padding: 10px 13px;
    font-size: var(--fs-base);
    width: 100%;
    color: var(--text-ink);
    background: var(--bg-card, #fff);
    transition: border-color .18s ease;
}

.auth-input:focus {
    border-color: var(--theme-primary);
    outline: none;
}

.auth-input.is-invalid {
    border-color: var(--error);
}

.auth-field-error {
    font-size: var(--fs-sm);
    color: var(--error);
    margin-top: 4px;
}

.auth-pw-wrap .auth-input {
    padding-right: 44px;
}

.auth-pw-wrap {
    position: relative;
}

.auth-pw-toggle {
    position: absolute;
    right: 12px;
    top: 20px;
    color: var(--text-light);
    transition: color .15s ease;
}

.auth-pw-toggle:hover {
    color: var(--theme-primary);
}

.auth-divider {
    border-color: var(--border-light, #f0f0f0);
    margin: 20px 0;
}

.auth-footer {
    font-size: var(--fs-base);
    color: var(--text-muted);
}

.auth-optional-hint {
    color: var(--text-light);
}

.auth-back-link {
    font-size: var(--fs-base);
    color: var(--text-muted);
    transition: color .15s ease;
}

.auth-back-link:hover {
    color: var(--theme-primary);
}

.auth-back-link:hover i,
.auth-back-link:hover svg {
    transform: translateX(-3px);
}

.auth-back-link i,
.auth-back-link svg {
    transition: transform .18s ease;
}

@media (max-width: 768px) {
    .auth-body {
        padding: 28px 20px;
    }
}
