#passwordModal {
    position: fixed; inset: 0; z-index: 10000;
    align-items: center; justify-content: center;
    padding: 24px 20px; box-sizing: border-box;
    background: rgba(15, 23, 42, .28);
    -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
}
#passwordModal .password-modal-content {
    width: min(290px, 100%); max-width: 290px; padding: 0;
    max-height: calc(100dvh - 48px); overflow: auto;
    border-radius: 20px; border: 1px solid rgba(255,255,255,.7);
    background: #fafafa; color: #1d1d1f;
    box-shadow: 0 24px 70px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.04);
    animation: activationAppear .2s ease-out;
}
#passwordModal .password-modal-header {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    padding: 20px 20px 0; margin: 0; border: 0; text-align: center;
}
#passwordModal .password-modal-icon {
    display: grid; place-items: center; width: 36px; height: 36px;
    margin: 0; border-radius: 11px; background: #e9f2ff; color: #007aff;
}
#passwordModal .password-modal-icon svg { width: 21px; height: 21px; }
#passwordModal .password-modal-title {
    margin: 0; color: #1d1d1f; font-size: 18px; line-height: 1.3;
    font-weight: 650; letter-spacing: -.4px;
}
#passwordModal .password-modal-body { padding: 8px 20px 18px; margin: 0; }
#passwordModal .password-modal-desc {
    margin: 0 0 14px; text-align: center; color: #6e6e73;
    font-size: 13px; line-height: 1.5;
}
#passwordModal .password-modal-input {
    display: block; width: 100%; height: 44px; box-sizing: border-box;
    padding: 0 14px; border-radius: 11px; border: 1px solid #dedee3;
    background: #fff; color: #1d1d1f; font: inherit; font-size: 16px;
    line-height: normal; letter-spacing: normal; text-align: left;
    outline: none; box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
#passwordModal .password-modal-input::placeholder { color: #98989d; opacity: 1; }
#passwordModal .password-modal-input:focus { border-color: #007aff; box-shadow: 0 0 0 3px rgba(0,122,255,.13); }
#passwordModal .password-modal-error { margin: 10px 0 0; color: #d70015; font-size: 13px; line-height: 1.5; text-align: left; }
#passwordModal .password-modal-footer {
    display: grid; grid-template-columns: 1fr 1fr; gap: 0;
    padding: 0; margin: 0; border-top: 1px solid #dedee3;
}
#passwordModal .password-modal-btn {
    min-height: 46px; padding: 11px 12px; margin: 0; width: 100%;
    border: 0; border-radius: 0; background: transparent; color: #007aff;
    font: inherit; font-size: 16px; line-height: 24px; cursor: pointer;
    box-shadow: none; transition: background .15s; -webkit-tap-highlight-color: transparent;
}
#passwordModal .password-modal-btn-confirm { border-left: 1px solid #dedee3; font-weight: 600; }
#passwordModal .password-modal-btn-cancel { font-weight: 400; }
#passwordModal .password-modal-btn:hover { background: rgba(0,122,255,.05); }
#passwordModal .password-modal-btn:active { background: rgba(0,122,255,.11); }
#passwordModal .password-modal-btn:focus-visible { outline: 2px solid #007aff; outline-offset: -5px; }
.dark-mode #passwordModal .password-modal-content { background: #252527; border-color: #424245; color: #f5f5f7; }
.dark-mode #passwordModal .password-modal-title { color: #f5f5f7; }
.dark-mode #passwordModal .password-modal-desc { color: #b0b0b6; }
.dark-mode #passwordModal .password-modal-icon { background: #163453; color: #64adff; }
.dark-mode #passwordModal .password-modal-input { background: #353537; border-color: #505054; color: #f5f5f7; }
.dark-mode #passwordModal .password-modal-footer, .dark-mode #passwordModal .password-modal-btn-confirm { border-color: #48484b; }
.dark-mode #passwordModal .password-modal-btn { color: #64adff; background: transparent; }
.dark-mode #passwordModal .password-modal-btn:active { background: rgba(100,173,255,.12); }
.dark-mode #passwordModal .password-modal-error { color: #ff6961; }
@keyframes activationAppear { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-height: 500px) { #passwordModal { align-items: flex-start; padding: 12px; } #passwordModal .password-modal-content { max-height: calc(100dvh - 24px); } }
@media (prefers-reduced-motion: reduce) { #passwordModal .password-modal-content { animation: none; } #passwordModal * { transition: none; } }
