.pw-strength { margin-top: 10px; }
.pw-strength[hidden] { display: none !important; }

.pw-strength-bars {
    display: flex;
    gap: 4px;
    margin-bottom: 6px;
}

.pw-strength-bar {
    flex: 1;
    height: 3px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.1);
    transition: background 0.25s ease;
}

.pw-strength-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    color: #94a3b8;
    margin-bottom: 10px;
}

.pw-strength-rules {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}

.pw-strength-rules li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.74rem;
    color: #64748b;
    transition: color 0.2s ease;
}

.pw-strength-rules li i {
    font-size: 0.68rem;
    width: 14px;
    text-align: center;
}

.pw-strength-rules li.is-ok { color: #22c55e; }
.pw-strength-rules li.is-fail { color: #64748b; }

.pw-strength-match {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.74rem;
    margin-top: 8px;
}

.pw-strength-match[hidden] { display: none !important; }
.pw-strength-match.is-ok { color: #22c55e; }
.pw-strength-match.is-fail { color: #ef4444; }

.pw-strength-match i { font-size: 0.68rem; }
