#text-password-generator #password-form-container { max-width:900px; margin:24px auto 0; }
#text-password-generator .form-control { width:100%; border:1px solid #ced8e5; border-radius:7px; background:#fff; color:#23364d; }
#text-password-generator #result-top { padding:13px 16px; text-align:center; font:600 1.2rem/1.4 Consolas,Monaco,'Courier New',monospace; letter-spacing:.04em; }
#text-password-generator .password-primary-actions { display:flex; width:100%; margin:16px 0; }
#text-password-generator .btn { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:40px; padding:8px 13px; border:1px solid transparent; background:#fff; font-weight:600; cursor:pointer; }
#text-password-generator .btn:focus-visible, #text-password-generator input:focus-visible { outline:3px solid rgba(37,99,235,.24); outline-offset:2px; }
#text-password-generator .btn-primary { flex:1; border-color:#2563eb; border-radius:0 7px 7px 0; background:#2563eb; color:#fff; }
#text-password-generator .btn-info { border-color:#0891b2; background:#0891b2; color:#fff; }
#text-password-generator #result-top-copy-button { flex:.5; border-radius:7px 0 0 7px; }
#text-password-generator .option-group { display:flex; width:100%; margin:0 0 8px; padding:0; border:0; }
#text-password-generator .option-heading, #text-password-generator .option-button { display:flex; flex:1; align-items:center; justify-content:center; min-height:36px; margin:0; padding:6px 9px; border:1px solid #94a3b8; font-size:13px; line-height:1.25; }
#text-password-generator .option-heading { flex:.8; border-radius:6px 0 0 6px; background:#f1f5f9; color:#64748b; font-weight:600; }
#text-password-generator #password-character .option-heading, #text-password-generator #password-length .option-heading { white-space:nowrap; }
#text-password-generator .option-button { margin-left:-1px; background:#fff; color:#1d4ed8; cursor:pointer; }
#text-password-generator .option-button:last-child { border-radius:0 6px 6px 0; }
#text-password-generator .option-button:has(input:checked) { position:relative; z-index:1; border-color:#2563eb; background:#2563eb; color:#fff; }
#text-password-generator .option-button input { position:absolute; width:1px; height:1px; opacity:0; }
#text-password-generator .password-copy-status { min-height:24px; margin:8px 0; color:#087f5b; text-align:center; font-size:14px; font-weight:600; }
#text-password-generator .password-copy-status.is-error { color:#b42332; }
#text-password-generator .result-list { margin-top:20px; }
#text-password-generator .result-list h2 { margin-bottom:10px; }
#text-password-generator .result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 12px; }
#text-password-generator .result-item { display:flex; min-width:0; }
#text-password-generator .result-list-item { min-width:0; padding:8px 9px; border-radius:6px 0 0 6px; font:14px/1.4 Consolas,Monaco,'Courier New',monospace; }
#text-password-generator .result-list-copy-button { flex:0 0 42px; min-height:38px; padding:6px; border-radius:0 6px 6px 0; }
#text-password-generator .password-help { margin-top:42px; }
#text-password-generator .password-help dt { font-weight:700; }
#text-password-generator .password-help dd { margin:4px 0 16px; color:#52657d; }
@media (max-width:767px) {
  #text-password-generator .option-group { flex-wrap:wrap; }
  #text-password-generator .option-heading { flex:0 0 100%; border-radius:6px 6px 0 0; }
  #text-password-generator .option-button { margin-top:-1px; }
  #text-password-generator .option-button:first-of-type { margin-left:0; border-radius:0 0 0 6px; }
  #text-password-generator .option-button:last-child { border-radius:0 0 6px 0; }
  #text-password-generator .result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  #text-password-generator .result-grid { grid-template-columns:1fr; }
}
