.password-generator{box-sizing:border-box;width:calc(100% - 32px);max-width:540px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--ink);background:var(--panel,#fff);box-shadow:0 20px 80px #17203a40}
.password-generator::backdrop{background:rgba(17,24,39,.55)}
.password-generator-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-generator-head h2{margin:0;font-size:21px}.password-generator-head .btn{flex-shrink:0}
.password-generator>label{display:block;margin-bottom:8px}.password-generator>input{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;padding:14px;letter-spacing:.03em}
.password-generator-actions,.password-generator-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.password-generator-actions .btn{flex:1}.password-generator-footer{justify-content:flex-end;padding-top:16px;border-top:1px solid var(--line);margin-top:20px}
.password-generator-length{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 14px}.password-generator-length label{margin:0}.password-generator-length small{display:block;font-weight:400}.password-generator-length input{width:90px;font-size:16px}
.password-generator-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;min-width:0;padding:12px 0;margin:0 0 10px;border:0}.password-generator-options legend{font-weight:600}.password-generator .check{display:flex;margin:0;font-size:14px;font-weight:400}.password-generator .btn:disabled{opacity:.5;cursor:default}.password-field-tools{margin-top:8px}
[data-password-generator][hidden],.password-generator [hidden]{display:none!important}
@media(max-width:480px){.password-generator{padding:18px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.password-generator-head h2{font-size:19px}.password-generator-actions .btn{padding-inline:10px}.password-generator-footer .btn{flex:1}.password-generator .notifications{left:12px;right:12px;bottom:12px;max-width:none}}
@media print{.password-generator{display:none!important}}

.mobile-password-generator{width:44px;min-width:44px;flex-shrink:0;padding:10px}
@media(max-width:1024px){.nav-ready .top-actions>[data-password-generator]{display:none}}
