.lexdesk-password-generator { padding: 1rem; border: 1px solid #3d4652; border-radius: 8px; background: #161c24; color: #e9edf2; max-width: 52rem; }
.lexdesk-password-generator h3 { margin: 0 0 .65rem; font-size: 1.1rem; }
.lexdesk-password-generator p { line-height: 1.5; }
.lexdesk-password-generator label { display: block; margin: .65rem 0; }
.lexdesk-password-generator input { display: block; box-sizing: border-box; width: 100%; margin-top: .4rem; padding: .7rem; background: #0f141b; color: #f4f6f8; border: 1px solid #687789; border-radius: 5px; font: 1rem ui-monospace, Consolas, monospace; }
.lexdesk-password-generator-controls, .lexdesk-password-generator-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.lexdesk-password-generator button, .lexdesk-password-generator select { min-height: 2.65rem; border: 1px solid #687789; border-radius: 5px; padding: .5rem .8rem; background: #253340; color: #f4f6f8; font: inherit; }
.lexdesk-password-generator button { cursor: pointer; }
.lexdesk-password-generator button:disabled { opacity: .55; cursor: default; }
.lexdesk-password-generator :focus-visible { outline: 3px solid #76caff; outline-offset: 2px; }
.lexdesk-password-generator-status { min-height: 1.5em; }
.lexdesk-password-generator-note { color: #c0cad6; font-size: .9rem; }
@media print { .lexdesk-password-generator { display: none !important; } }