.nqep-account-pass {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    margin: 0 0 28px;
    padding: 24px 26px;
    border: 1px solid #d8e4ef;
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0, rgba(41, 120, 190, .12), transparent 36%),
        #f7fbff;
    color: #102f5e;
}

.nqep-account-pass__content {
    min-width: 0;
}

.nqep-account-pass--expired {
    border-color: #f0d2ab;
    background:
        radial-gradient(circle at 100% 0, rgba(215, 132, 39, .12), transparent 36%),
        #fffaf3;
}

.nqep-account-pass__eyebrow {
    margin: 0 0 6px;
    color: #2574b8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.nqep-account-pass h2 {
    max-width: 100%;
    margin: 0 0 8px;
    font-size: clamp(20px, 2vw, 27px);
    line-height: 1.35;
    overflow-wrap: normal;
    word-break: normal;
}

.nqep-account-pass p:last-child {
    margin-bottom: 0;
}

.nqep-account-pass__return-note {
    padding: 16px 18px;
    border: 1px solid rgba(37, 116, 184, .2);
    border-radius: 14px;
    background: rgba(255, 255, 255, .78);
    color: #173b69;
}

.nqep-account-pass__return-note strong {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.5;
}

.nqep-account-pass__return-note p {
    margin: 0;
    line-height: 1.75;
}

.nqep-account-pass__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}

.nqep-account-pass__actions .button {
    min-height: 42px;
    margin: 0;
    padding: 9px 18px;
    border-radius: 999px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    white-space: normal;
}

@media (max-width: 640px) {
    .nqep-account-pass {
        padding: 20px;
    }

    .nqep-account-pass__actions,
    .nqep-account-pass__actions .button {
        width: 100%;
    }
}
.nqep-referral-card {
    margin: 0 0 28px;
    padding: 24px 26px;
    border: 1px solid #d7e5dd;
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0, rgba(23, 137, 91, .12), transparent 38%),
        #f8fcfa;
    color: #123f31;
}

.nqep-referral-card__eyebrow {
    margin: 0 0 6px;
    color: #147a53;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.nqep-referral-card h2 {
    margin: 0 0 10px;
    color: #102f5e;
    font-size: clamp(20px, 2vw, 27px);
    line-height: 1.4;
}

.nqep-referral-card__preview {
    display: inline-flex;
    margin: 0 0 12px !important;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff0d6;
    color: #7a4c00;
    font-size: 12px;
    font-weight: 800;
}

.nqep-referral-card__benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 4px;
}

.nqep-referral-card__benefits > div {
    padding: 14px;
    border: 1px solid rgba(20, 122, 83, .18);
    border-radius: 12px;
    background: rgba(255, 255, 255, .82);
}

.nqep-referral-card__benefits span,
.nqep-referral-card__benefits strong {
    display: block;
}

.nqep-referral-card__benefits span {
    margin-bottom: 5px;
    color: #45665b;
    font-size: 12px;
    font-weight: 700;
}

.nqep-referral-card__benefits strong {
    color: #102f5e;
    font-size: 15px;
    line-height: 1.55;
}

.nqep-referral-card__terms {
    margin: 12px 0 0 !important;
    font-size: 13px;
    font-weight: 700;
}

.nqep-referral-card > p {
    line-height: 1.75;
}

.nqep-referral-card__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 18px;
}

.nqep-referral-card__copy input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    border: 1px solid #bdd2c7;
    border-radius: 10px;
    background: #fff;
    color: #173b69;
}

.nqep-referral-card__button.button {
    min-height: 44px;
    margin: 0;
    padding: 9px 18px;
    border-color: #147a53;
    border-radius: 999px;
    background: #147a53;
    color: #fff;
    font-weight: 800;
    white-space: nowrap;
}

.nqep-referral-card__button.button:hover,
.nqep-referral-card__button.button:focus,
.nqep-referral-card__button.button.is-copied {
    border-color: #0e5f40;
    background: #0e5f40;
    color: #fff;
}

.nqep-referral-card__status {
    min-height: 1.5em;
    margin: 6px 0 0;
    color: #0e6b48;
    font-size: 13px;
    font-weight: 700;
}

.nqep-referral-card__summary {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(20, 122, 83, .18);
    border-radius: 12px;
    background: rgba(255, 255, 255, .8);
}

.nqep-referral-card__summary strong {
    color: #0e6b48;
}

.nqep-referral-card__summary span {
    color: #45665b;
    font-size: 13px;
}

.nqep-referral-card__notice {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 4px solid #d69a2d;
    border-radius: 8px;
    background: #fff9ed;
    color: #694a14;
    font-size: 13px;
}

@media (max-width: 640px) {
    .nqep-referral-card {
        padding: 20px;
    }

    .nqep-referral-card__benefits {
        grid-template-columns: minmax(0, 1fr);
    }

    .nqep-referral-card__copy {
        grid-template-columns: minmax(0, 1fr);
    }

    .nqep-referral-card__button.button {
        width: 100%;
        white-space: normal;
    }
}
