.container-password {
    min-height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

.card-password {
    max-width: 500px;
    width: 100%;
    padding: 3rem;
    animation: fadeIn 0.5s ease;
}

.icon-password {
    font-size: 4rem;
    margin-bottom: 1rem;
}

h1.title-password {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

p.content-password {
    color: var(--text-muted) !important;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.container-password form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.container-password form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--dark);
}

.container-password form input {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid var(--light);
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.error-msg {
    color: var(--danger);
    display: block;
    margin-top: 0.25rem;
}

.container-password .btn-action {
    width: 100%;
    font-size: 1.125rem;
    padding: 1rem;
}

.link-return {
    color: var(--primary);
    text-decoration: none !important;
    font-weight: 600;
}

a.link-login {
    display: inline-block;
    padding: 0.75rem 2rem;
    font-size: 1rem;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
