/* Password Requirements Styling */
.requirement-item {
    font-size: 0.9em;
    margin-bottom: 2px;
    transition: color 0.3s ease;
}

.requirement-item:before {
    content: "✗ ";
    color: #dc3545;
    font-weight: bold;
}

.requirement-item.valid:before {
    content: "✓ ";
    color: #28a745;
}

.requirement-item.valid {
    color: #28a745;
}

.password-strength-container {
    margin-top: 8px;
}

.password-strength-bar {
    height: 8px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.password-strength-text {
    font-size: 0.9em;
    font-weight: 500;
    margin-top: 4px;
}

/* Password field styling */
.password-field {
    position: relative;
}

.password-field .form-control:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Invalid feedback styling */
.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.invalid-feedback.show {
    display: block;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .requirement-item {
        font-size: 0.8em;
    }
    
    .password-strength-text {
        font-size: 0.8em;
    }
} 