.ooi-password-setup {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 22px;
    max-width: 1380px;
    margin: 20px auto;
    padding: clamp(24px, 3vw, 38px);
    color: #10223d;
    background: linear-gradient(135deg, #fff9f0, #f7f2e9 62%, #edf7f7);
    border: 1px solid rgba(217, 158, 130, .5);
    border-left: 5px solid #ffab4e;
    border-radius: 22px;
    box-shadow: 0 16px 45px rgba(16, 34, 61, .08);
}
.ooi-password-setup * { box-sizing: border-box; }
.ooi-password-setup__icon { display: grid; place-items: center; width: 58px; height: 58px; color: #fff; background: #ffab4e; border-radius: 18px; font-size: 22px; font-weight: 900; letter-spacing: 3px; }
.ooi-password-setup__eyebrow { color: #9a5b16; font-size: 11px; font-weight: 850; letter-spacing: .18em; }
.ooi-password-setup h2 { margin: 7px 0 8px; color: #10223d; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.035em; }
.ooi-password-setup p { max-width: 800px; margin: 0 0 20px; color: #637187; line-height: 1.55; }
.ooi-password-setup__message { padding: 10px 14px; color: #8b2d1c !important; background: #fff0ec; border-radius: 10px; }
.ooi-password-setup__login { display: inline-block; margin: -5px 0 18px !important; padding: 9px 12px; color: #4d5870 !important; background: rgba(128,197,207,.14); border-radius: 9px; font-size: 13px; }
.ooi-password-diagnostic { max-width: 760px; margin: 18px auto; padding: 16px 18px; color: #10223d; background: #eef7f8; border: 1px solid #80c5cf; border-radius: 12px; line-height: 1.55; }
.ooi-password-setup__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.ooi-password-setup__form label span { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 750; }
.ooi-password-setup__form input { width: 100%; min-height: 48px; padding: 10px 13px; color: #10223d; background: #fff; border: 1px solid #d8d5cf; border-radius: 11px; }
.ooi-password-setup__form > button { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 48px; padding: 11px 18px; color: #fff; background: #10223d; border: 0; border-radius: 11px; font-weight: 800; cursor: pointer; }
.ooi-password-setup__field { position: relative; display: block !important; margin: 0 !important; }
.ooi-password-setup__field input { padding-right: 82px; }
.ooi-password-setup__toggle { position: absolute; top: 50%; right: 8px; min-height: 34px; padding: 6px 9px; color: #595799; background: #f1f0f8; border: 0; border-radius: 8px; font-size: 11px; font-weight: 800; cursor: pointer; transform: translateY(-50%); }
.ooi-password-setup small { display: block; margin-top: 13px; color: #7a8493; }
.ooi-password-setup--compact { margin: 28px auto; }
.ooi-password-success { display: flex; align-items: center; gap: 16px; max-width: 1380px; margin: 20px auto; padding: 20px 24px; color: #174c39; background: #eef9f3; border: 1px solid #b8dfca; border-radius: 18px; }
.ooi-password-success > span { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; color: #fff; background: #42a477; border-radius: 50%; font-weight: 900; }
.ooi-password-success strong { display: block; margin-bottom: 3px; }
.ooi-password-success p { margin: 0; color: #527264; }

@media (max-width: 900px) {
    .ooi-password-setup__form { grid-template-columns: 1fr 1fr; }
    .ooi-password-setup__form > button { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .ooi-password-setup { grid-template-columns: 1fr; margin: 14px; padding: 22px 18px; border-radius: 18px; }
    .ooi-password-setup__form { grid-template-columns: 1fr; }
    .ooi-password-setup__form > button { grid-column: auto; }
}
