/* Customer portal presentation shared by Group, Personal and Freeclimb. */
.bbar-portal-tabs.bbar-portal-tabs {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0 0 18px;
    padding: 8px;
    border: 1px solid var(--bbar-ui-line);
    border-radius: 16px;
    background: var(--bbar-ui-surface);
    box-shadow: var(--bbar-ui-shadow-sm);
}
.bbar-portal-tabs.bbar-portal-tabs > a {
    box-sizing: border-box;
    display: flex;
    min-width: 0;
    min-height: 48px;
    flex: 1 1 220px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 14px;
    border: 1px solid transparent;
    border-radius: var(--bbar-ui-radius-sm);
    color: #36516b;
    background: #f5f8fb;
    font: inherit;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
}
.bbar-portal-tabs.bbar-portal-tabs > a:hover { color: #fff; background: #2468c9; }
.bbar-portal-tabs.bbar-portal-tabs > a:is(.is-active, [aria-current="page"], [aria-selected="true"]) {
    border-color: #175cd3;
    color: #fff;
    background: #175cd3;
    box-shadow: 0 7px 18px rgba(23, 92, 211, .18);
}
.bbar-portal-tabs.bbar-portal-tabs > a:focus-visible { outline: 3px solid #175cd3; outline-offset: 2px; }
.bbar-portal-tabs.bbar-portal-tabs > a:is(:hover, .is-active, [aria-current="page"], [aria-selected="true"]) :is(strong, .bbar-freeclimb__tab-count) {
    color: #134aa8;
    background: #fff;
}

.bbar-portal-payment-summary {
    box-sizing: border-box;
    display: grid;
    min-width: 0;
    gap: 9px;
    margin: 1rem 0;
    padding: 1rem 1.15rem;
    border: 1px solid var(--bbar-ui-line);
    border-radius: var(--bbar-ui-radius-md);
    background: var(--bbar-ui-surface-blue);
    color: var(--bbar-ui-ink);
}
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head small { color: var(--bbar-ui-muted); font-weight: 700; }
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head h4 { margin: .15rem 0 0; color: var(--bbar-ui-navy-800); }
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head > strong {
    padding: .35rem .65rem;
    border-radius: 999px;
    color: #175cd3;
    background: #eaf2ff;
    font-size: .78rem;
    text-align: right;
}
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head > .bbar-portal-payment-state--paid { color: #067647; background: #ecfdf3; }
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head > .bbar-portal-payment-state:is(.bbar-portal-payment-state--payment_failed, .bbar-portal-payment-state--checkout_failed, .bbar-portal-payment-state--pdf_failed) { color: #b42318; background: #fef3f2; }
.bbar-portal-payment-summary .bbar-personal-purchase-summary__head > .bbar-portal-payment-state:is(.bbar-portal-payment-state--expired, .bbar-portal-payment-state--cancelled, .bbar-portal-payment-state--checkout_cancelled, .bbar-portal-payment-state--checkout_timeout, .bbar-portal-payment-state--refunded) { color: #475467; background: #f2f4f7; }
.bbar-portal-payment-summary dl { display: grid; gap: .4rem; margin: .4rem 0 0; padding-top: .75rem; border-top: 1px solid var(--bbar-ui-line); }
.bbar-portal-payment-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; }
.bbar-portal-payment-summary dt { color: var(--bbar-ui-muted); }
.bbar-portal-payment-summary dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.bbar-portal-payment-summary :is(dt, dd, h4),
.bbar-portal-activity :is(li, time, span) { min-width: 0; overflow-wrap: anywhere; }

.bbar-portal-next-action { display: grid; gap: .75rem; margin: 1rem 0; padding: 1rem; border: 1px solid #b7d4fa; border-radius: var(--bbar-ui-radius-md); background: #eff8ff; }
.bbar-portal-next-action p { margin: 0; color: var(--bbar-ui-navy-800); }
.bbar-portal-next-action a { width: fit-content; max-width: 100%; box-sizing: border-box; text-align: center; }
.bbar-portal-next-action a:focus-visible,
[id^="bbar-personal-conversion-payment-"]:focus-visible { outline: 3px solid #175cd3; outline-offset: 3px; }

.bbar-portal-documents.bbar-portal-documents {
    box-sizing: border-box;
    display: grid;
    min-width: 0;
    gap: 10px;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid #d7e5f7;
    border-radius: var(--bbar-ui-radius-md);
    background: #f8fbff;
    color: var(--bbar-ui-navy-800);
}
.bbar-freeclimb__booking > :is(.bbar-freeclimb__purchase-summary, .bbar-freeclimb__payment-history) { grid-column: 1 / -1; min-width: 0; }
.bbar-portal-documents .bbar-eaccept-card__documents { display: flex; flex-wrap: wrap; gap: 9px; }
.bbar-portal-documents .bbar-service-documents__invoice { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 12px; border-top: 1px solid #d7e5f7; }
.bbar-portal-documents .bbar-service-documents__invoice > * { min-width: 0; overflow-wrap: anywhere; }
.bbar-portal-documents .bbar-eaccept-card__documents a,
.bbar-portal-documents .bbar-service-documents__invoice a { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; margin: 0; padding: 8px 14px; border: 1px solid #b7d4fa; border-radius: 10px; color: #175cd3; background: #fff; font-weight: 750; text-decoration: none; }
.bbar-portal-documents a:hover { border-color: #175cd3; background: #eff8ff; }
.bbar-portal-documents a:focus-visible { outline: 3px solid #175cd3; outline-offset: 2px; }

.bbar-portal-activity.bbar-portal-activity { box-sizing: border-box; min-width: 0; margin: 1rem 0; padding: .85rem 1rem; border: 1px solid var(--bbar-ui-line); border-radius: var(--bbar-ui-radius-md); background: #fff; }
.bbar-portal-activity > summary { cursor: pointer; color: var(--bbar-ui-navy-800); font-weight: 800; }
.bbar-portal-activity > summary:focus-visible { outline: 3px solid #175cd3; outline-offset: 3px; }
.bbar-portal-activity > ol { display: grid; gap: .75rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.bbar-portal-activity .bbar-personal-payment-history__purchase { padding: .8rem; border: 1px solid #e2e9f1; border-radius: 11px; background: #fbfdff; }
.bbar-portal-activity .bbar-personal-payment-history__head { display: flex; justify-content: space-between; gap: .75rem; }
.bbar-portal-activity .bbar-personal-payment-history__head span { color: var(--bbar-ui-muted); font-size: .82rem; }
.bbar-portal-activity .bbar-personal-payment-history__events { display: grid; gap: .45rem; margin: .75rem 0 0; padding-left: 1.25rem; }
.bbar-portal-activity .bbar-personal-payment-history__events li { padding-left: .15rem; color: #475467; }
.bbar-portal-activity .bbar-personal-payment-history__events li.is-payment { color: #175cd3; font-weight: 700; }
.bbar-portal-activity .bbar-personal-payment-history__events time { display: inline-block; min-width: 9rem; color: var(--bbar-ui-muted); font-size: .8rem; font-weight: 500; }
.bbar-portal-activity .bbar-personal-payment-history__events li { display: grid; grid-template-columns: minmax(0, 9rem) minmax(0, 1fr); gap: .75rem; }
.bbar-portal-activity .bbar-personal-payment-history__events time { min-width: 0; }
.bbar-portal-activity .bbar-personal-payment-history__purchase > p { margin: .6rem 0 0; color: var(--bbar-ui-muted); font-size: .82rem; }

.bbar-freeclimb__journey .bbar-freeclimb__plan { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.bbar-freeclimb__journey .bbar-freeclimb__plan > div,
.bbar-freeclimb__journey .bbar-simplepay-disclosure { min-width: 0; width: 100%; box-sizing: border-box; }
.bbar-freeclimb__journey .bbar-freeclimb__plan > .button { width: fit-content; max-width: 100%; min-height: 44px; white-space: normal; line-height: 1.35; }

.bbar-personal-status, .bbar-freeclimb__badge, .bbar-enrollment__status-pill {
    display: inline-flex;
    width: max-content;
    min-height: 26px;
    align-items: center;
    padding: .22rem .62rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
}
.bbar-personal-status { max-width: 100%; white-space: normal; text-align: left; }
.bbar-personal-status:is([class*="--confirmed"], [class*="--completed"], [class*="--paid"], [class*="--successful"]),
.bbar-freeclimb__badge:is([class*="--confirmed"], [class*="--completed"], [class*="--allocation_processing"]) { color: #067647; background: #ecfdf3; }
.bbar-personal-status:is([class*="--pending"], [class*="--waiting"]),
.bbar-freeclimb__badge--pending_payment { color: #9a6700; background: #fffaeb; }
.bbar-personal-status:is([class*="--failed"], [class*="--expired"], [class*="--cancelled"]),
.bbar-freeclimb__badge:is([class*="--payment_expired"], [class*="--cancelled"], [class*="--no_show"]) { color: #b42318; background: #fef3f2; }

@media (max-width: 640px) {
    .bbar-portal-tabs.bbar-portal-tabs { display: grid; grid-template-columns: minmax(0, 1fr); }
    .bbar-portal-tabs.bbar-portal-tabs > a { width: 100%; }
    .bbar-portal-payment-summary .bbar-personal-purchase-summary__head,
    .bbar-portal-activity .bbar-personal-payment-history__head { flex-direction: column; }
    .bbar-portal-payment-summary .bbar-personal-purchase-summary__head > strong { text-align: left; }
    .bbar-portal-payment-summary dl > div { align-items: start; }
    .bbar-portal-activity .bbar-personal-payment-history__events li { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
    .bbar-portal-activity .bbar-personal-payment-history__events time { display: block; }
    .bbar-portal-documents .bbar-eaccept-card__documents { display: grid; grid-template-columns: minmax(0, 1fr); }
    .bbar-portal-documents .bbar-eaccept-card__documents a,
    .bbar-portal-documents .bbar-service-documents__invoice a { width: 100%; box-sizing: border-box; }
    .bbar-portal-next-action a,
    .bbar-freeclimb__journey .bbar-freeclimb__plan > .button { width: 100%; }
}
