.ouyi-password-modal-open { overflow: hidden !important; }
.ouyi-password-overlay[hidden], .ouyi-password-success[hidden], [data-password-form][hidden] { display: none !important; }
.ouyi-password-overlay { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 20px; background:rgba(244,248,253,0.76); backdrop-filter: blur(14px); font-family: Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; color:#253956; }
.ouyi-password-dialog { position: relative; width: min(440px,100%); padding: 30px; border:1px solid rgba(218,228,242,0.17); border-radius:18px; background:#ffffff; box-shadow:0 34px 100px rgba(24,65,125,0.124); }
.ouyi-password-close { position: absolute; right: 16px; top: 12px; border:0; background:transparent; color:#657791; font-size: 27px; cursor: pointer; }
.ouyi-password-kicker { color:#024ac2; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.ouyi-password-dialog h2 { margin: 8px 0 7px; font-size: 24px; }
.ouyi-password-intro,.ouyi-password-success p { margin: 0 0 20px; color:#657791; font-size: 12px; line-height: 1.65; }
.ouyi-password-dialog form { display: grid; gap: 13px; }
.ouyi-password-dialog label:not(.ouyi-password-show) { display: grid; gap: 7px; color:#253956; font-size: 12px; }
.ouyi-password-dialog label small { color:#657791; font-size: 10px; }
.ouyi-password-dialog input[type="password"],.ouyi-password-dialog input[type="text"] { width: 100%; height: 46px; padding: 0 13px; outline:none; border:1px solid rgba(218,228,242,0.14); border-radius:9px; background:#f4f8fd; color:#253956; font: inherit; }
.ouyi-password-dialog input:focus { border-color:rgba(2,74,194,0.55); }
.ouyi-password-show { width: max-content; display: flex; align-items: center; gap: 7px; color:#657791; font-size: 11px; cursor: pointer; }
.ouyi-password-show input { accent-color:#024ac2; }
.ouyi-password-error { min-height: 18px; color:#ae3430; font-size: 12px; }
.ouyi-password-actions { display: grid; grid-template-columns: .7fr 1.3fr; gap: 9px; }
.ouyi-password-actions button,.ouyi-password-success button { height: 46px; border:1px solid rgba(218,228,242,0.14); border-radius:9px; background:#ffffff; color:#253956; font-weight: 700; cursor: pointer; }
.ouyi-password-actions button[type="submit"],.ouyi-password-success button { border-color:#024ac2; background:#024ac2; color:#283b54; }
.ouyi-password-actions button:disabled { opacity: .55; cursor: wait; }
.ouyi-password-success { padding: 8px 0 0; text-align: center; }
.ouyi-password-success > span { width: 50px; height: 50px; margin: 0 auto 15px; display: grid; place-items: center; border-radius:50%; background:rgba(2,74,194,0.1); color:#024ac2; font-size: 25px; }
.ouyi-password-success button { width: 100%; }
@media (max-width:520px) { .ouyi-password-dialog { padding: 27px 20px 22px; } }
