/* UTIL-050 Tạo/kiểm tra độ mạnh mật khẩu. Dùng font của bộ giao diện (Arial); không ghi đè font icon. */
.sou-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:4px;border-radius:14px;background:var(--sou-soft);border:1px solid var(--sou-line)}
.sou-tabs [role=tab]{flex:1 1 auto;min-height:44px;padding:8px 14px;border:0;border-radius:10px;background:transparent;color:var(--sou-ink);font:700 15px Arial,"Helvetica Neue",Helvetica,sans-serif;cursor:pointer}
.sou-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--sou-primary);box-shadow:0 2px 8px rgba(16,36,94,.12)}
.sou-tabs [role=tab]:focus-visible{outline:2px solid #3869ed;outline-offset:2px}
@media(min-width:861px){.sou-pw-cols{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.sou-pw-range{display:flex;gap:12px;align-items:center}
.sou-pw-range input[type=range]{flex:1;min-width:0;min-height:44px}
.sou-page .sou-pw-range input[type=number]{width:96px;flex:none}
.sou-pw-groups{border:0;padding:0;margin:0 0 4px}
.sou-pw-groups .sou-check{min-height:44px;padding:8px 0}
.sou-page .sou-pw-groups>.sou-check{display:flex;margin:0;font-weight:400;color:var(--sou-text)}
.sou-page .sou-pw-count input{max-width:160px}
.sou-pw-adv,.sou-pw-privacy{margin:4px 0 8px}
.sou-pw-adv summary,.sou-pw-privacy summary{cursor:pointer;padding:12px 0;font-weight:700;color:var(--sou-ink)}
.sou-pw-privacy{margin-top:18px;padding:0 14px;border:1px solid var(--sou-line);border-radius:12px;background:#fbfcff}
.sou-pw-result h2{font-size:18px}
.sou-pw-list{margin:0 0 4px;padding:0;list-style:none;display:grid;gap:8px;counter-reset:pw}
.sou-pw-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--sou-line);border-radius:12px;background:#fff}
.sou-pw-list li::before{counter-increment:pw;content:counter(pw);color:var(--sou-muted);font-weight:700;min-width:1.4em}
.sou-pw-value{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-all;font-size:18px;letter-spacing:.04em;color:var(--sou-ink)}
.sou-pw-value.is-masked{letter-spacing:.14em;color:var(--sou-muted)}
.sou-page .sou-pw-list .sou-button{min-height:44px;padding:8px 14px;flex:none;font-size:15px}
.sou-pw-reveal{display:flex;gap:8px;align-items:stretch}
.sou-pw-reveal input{flex:1;min-width:0}
.sou-page .sou-pw-reveal .sou-button{flex:none;min-height:46px;padding:8px 14px}
.sou-pw-meter{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:4px 0 10px}
.sou-pw-meter span{height:10px;border-radius:999px;background:#e3e9f6}
.sou-pw-meter[data-score="0"] span:first-child{background:#c0392b}
.sou-pw-meter[data-score="1"] span:nth-child(-n+2){background:#c4580e}
.sou-pw-meter[data-score="2"] span:nth-child(-n+3){background:#9a7d0a}
.sou-pw-meter[data-score="3"] span:nth-child(-n+4){background:#2471a3}
.sou-pw-meter[data-score="4"] span{background:#1e8449}
.sou-pw-score{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--sou-ink)}
.sou-pw-notes{margin:0 0 8px;padding-left:20px}
.sou-pw-notes li{margin:4px 0}
.sou-pw-note{margin:12px 0 0;font-weight:400}
@media(max-width:600px){.sou-tabs [role=tab]{flex:1 1 100%}.sou-pw-list li{flex-wrap:wrap}.sou-page .sou-pw-list .sou-button{width:100%}}
@media print{.sou-tabs,.sou-pw-privacy{display:none!important}}
