/* Quadro "Regras da senha" (conf/senha.php -> senhaQuadroDeRegras) */
.senha-regras { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 4px 0 16px;
  padding: 12px 14px; background: #f7f8fa; border: 1px solid #dfe3e8; border-radius: 6px; text-align: left; }
.senha-regras-titulo { font-weight: 600; font-size: 14px; color: #333; }
.senha-regras-texto { margin: 0; font-size: 13px; line-height: 1.45; color: #555; }
.senha-regras-lista { list-style: none; margin: 0; padding: 0; width: 100%; display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 14px; }
.senha-regras-lista li { position: relative; padding-left: 20px; font-size: 13px; color: #8a9099; transition: color .12s; }
.senha-regras-lista li::before { content: ""; position: absolute; left: 2px; top: 50%; width: 10px; height: 10px; margin-top: -5px;
  border: 1.5px solid currentColor; border-radius: 50%; box-sizing: border-box; }
.senha-regras-lista li.ok { color: #1e8e3e; }
.senha-regras-lista li.ok::before { background: currentColor; }
.senha-regras .senha-gerar { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 4px 14px;
  font-size: 13.5px; line-height: 1.4; color: #333; background: #fff; border: 1px solid #b9c0c8; border-radius: 6px;
  box-shadow: 0 1px 1px rgba(0,0,0,.04); cursor: pointer; transition: background .12s, border-color .12s; }
.senha-regras .senha-gerar:hover { background: #eef1f4; border-color: #8f98a3; }
.senha-regras .senha-gerar:focus-visible { outline: 2px solid #4a90e2; outline-offset: 2px; }
.senha-regras-aviso { margin: 0; font-size: 13px; color: #8a5a00; }
.senha-regras-aviso:empty { display: none; }
