.ooi-membership-observer,
.ooi-membership-observer * {
    box-sizing: border-box;
}

.ooi-membership-observer {
    width: min(1380px, calc(100% - 32px));
    margin: 24px auto;
    padding: clamp(24px, 4vw, 48px);
    color: #10223d;
    background: linear-gradient(135deg, #fffdf9, #f3f8f8);
    border: 1px solid rgba(128, 197, 207, .35);
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(16, 34, 61, .07);
}

.ooi-membership-observer__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.ooi-membership-observer__eyebrow {
    color: #7270ac;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .18em;
}

.ooi-membership-observer h2 {
    margin: 8px 0;
    font-size: clamp(28px, 4vw, 46px);
    letter-spacing: -.035em;
}

.ooi-membership-observer__header p {
    margin: 0;
    color: #657189;
}

.ooi-membership-observer__health {
    flex: 0 0 auto;
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.ooi-membership-observer__health.is-ok {
    color: #176345;
    background: #e9f7ef;
}

.ooi-membership-observer__health.needs-review {
    color: #8a4b00;
    background: #fff1dc;
}

.ooi-membership-observer__summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 30px 0 20px;
}

.ooi-membership-observer__summary > div {
    padding: 17px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid #e3e8e9;
    border-radius: 15px;
}

.ooi-membership-observer__summary small,
.ooi-membership-observer__summary strong {
    display: block;
}

.ooi-membership-observer__summary small {
    margin-bottom: 7px;
    color: #788397;
}

.ooi-membership-observer__warnings {
    margin: 18px 0;
    padding: 16px 18px;
    color: #744200;
    background: #fff7ea;
    border-left: 4px solid #ffab4e;
    border-radius: 12px;
}

.ooi-membership-observer__warnings ul {
    margin: 8px 0 0 20px;
}

.ooi-membership-observer__empty,
.ooi-membership-observer__notice {
    max-width: 1000px;
    margin: 20px auto;
    padding: 20px;
    color: #56647b;
    background: #fff;
    border: 1px dashed #b8c6cc;
    border-radius: 15px;
}

.ooi-membership-observer__notice--warning {
    border-color: #ffab4e;
}

.ooi-membership-observer__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.ooi-membership-observer__card {
    padding: 20px;
    background: #fff;
    border: 1px solid #e2e8e9;
    border-radius: 17px;
}

.ooi-membership-observer__card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.ooi-membership-observer__card-heading small {
    color: #7a8495;
}

.ooi-membership-observer__card h3 {
    margin: 5px 0 15px;
    font-size: 21px;
}

.ooi-membership-observer__card-heading > span {
    padding: 6px 10px;
    border-radius: 999px;
    color: #5e6674;
    background: #eef0f3;
    font-size: 11px;
    font-weight: 850;
}

.ooi-membership-observer__card-heading .status-active {
    color: #176345;
    background: #e8f7ef;
}

.ooi-membership-observer__card-heading .status-pending {
    color: #775300;
    background: #fff4d8;
}

.ooi-membership-observer__card-heading .status-cancelled,
.ooi-membership-observer__card-heading .status-expired {
    color: #7c3d3d;
    background: #fbecec;
}

.ooi-membership-observer__card dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0;
}

.ooi-membership-observer__card dl div {
    padding-top: 11px;
    border-top: 1px solid #edf0f2;
}

.ooi-membership-observer__card dt {
    margin-bottom: 4px;
    color: #7b8596;
    font-size: 11px;
}

.ooi-membership-observer__card dd {
    margin: 0;
    font-weight: 750;
}

.ooi-membership-observer__technical {
    margin-top: 22px;
    padding-top: 15px;
    color: #7a8495;
    border-top: 1px solid #e3e8e9;
    font-size: 12px;
}

@media (max-width: 850px) {
    .ooi-membership-observer__summary {
        grid-template-columns: 1fr 1fr;
    }

    .ooi-membership-observer__list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ooi-membership-observer {
        width: calc(100% - 20px);
        padding: 22px 17px;
        border-radius: 19px;
    }

    .ooi-membership-observer__header {
        display: block;
    }

    .ooi-membership-observer__health {
        display: inline-block;
        margin-top: 16px;
    }

    .ooi-membership-observer__summary,
    .ooi-membership-observer__card dl {
        grid-template-columns: 1fr;
    }
}

