/**
 * Password Strength Meter Styles
 * Compliance Checker security styles
 */

/* Add additional styling at the top of the file */

/* Password field input with appropriate spacing */
input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    padding-right: 40px; /* Space for the toggle icon */
}

/* Password field wrapper with correct positioning */
.password-field-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 8px;
    display: block;
}

/* Password toggle icon with fixed positioning */
.password-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    color: #757575;
    font-size: 16px;
    line-height: 1;
    height: 36px;
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -30px !important;
    outline: none;
}

.password-toggle:hover {
    background: #047857 !important;
    color: #fff !important;
    margin-top: -45px !important;

}

.password-toggle svg {
    display: block;
    pointer-events: none;
}

/* Style for the password field when visible */
input[type="text"].password-visible {
    padding-right: 40px;
    width: 100%;
    box-sizing: border-box;
}

.password-strength-meter {
    margin: 10px 0;
    padding: 0;
    width: 100%;
    position: relative;
    clear: both;
}

.meter-container {
    height: 6px;
    background-color: #e2e2e2;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    margin-bottom: 5px;
}

.meter-bar {
    height: 100%;
    width: 0;
    transition: width 0.3s ease-in-out;
    border-radius: 3px;
}

.strength-text {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #757575;
}

.strength-feedback {
    font-size: 12px;
    color: #e35b5b;
    margin-top: 5px;
    padding: 5px 0;
    display: block;
}

/* Strength levels */
.meter-bar.very-weak {
    background-color: #e35b5b;
    width: 20%;
}

.meter-bar.weak {
    background-color: #e38a5b;
    width: 40%;
}

.meter-bar.medium {
    background-color: #e3cb5b;
    width: 60%;
}

.meter-bar.strong {
    background-color: #8fe35b;
    width: 80%;
}

.meter-bar.very-strong {
    background-color: #5be35b;
    width: 100%;
}

/* Password requirements list */
.password-requirements {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.password-requirements li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 5px;
    font-size: 12px;
    color: #757575;
}

.password-requirements li::before {
    content: "✗";
    position: absolute;
    left: 0;
    color: #e35b5b;
}

.password-requirements li.met::before {
    content: "✓";
    color: #5be35b;
}

/* Login security notice */
.login-security-notice {
    background-color: #f9f9f9;
    border-left: 4px solid #2271b1;
    padding: 10px 15px;
    margin: 15px 0;
    color: #2c3338;
    font-size: 13px;
    border-radius: 3px;
}

.login-security-notice p {
    margin: 5px 0;
}

/* Account locked indicator */
.account-locked-message {
    background-color: #fcf9e8;
    border-left: 4px solid #dba617;
    padding: 12px 15px;
    margin: 15px 0;
    color: #856404;
    font-size: 14px;
    border-radius: 3px;
    display: flex;
    align-items: center;
}

.account-locked-message::before {
    content: "⚠";
    font-size: 16px;
    margin-right: 10px;
}

/* Rate limit indicator */
.rate-limited-message {
    background-color: #f8d7da;
    border-left: 4px solid #dc3545;
    padding: 12px 15px;
    margin: 15px 0;
    color: #721c24;
    font-size: 14px;
    border-radius: 3px;
}

/* Verification required message */
.verification-required-message {
    background-color: #d1ecf1;
    border-left: 4px solid #17a2b8;
    padding: 12px 15px;
    margin: 15px 0;
    color: #0c5460;
    font-size: 14px;
    border-radius: 3px;
}

/* Admin indicator for locked accounts */
.user-row.account-locked {
    background-color: #fff8e5;
}

.user-row .locked-indicator {
    display: inline-block;
    background-color: #ffb900;
    color: #614200;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 5px;
} 