.mbcro-apply,
.mbcro-directory {
    color: #172033;
    margin: 0 auto;
    max-width: 1120px;
}

.mbcro-directory {
    position: relative;
    width: min(1120px, calc(100vw - 40px));
    left: 50%;
    transform: translateX(-50%);
}

.mbcro-form section {
    border-bottom: 1px solid #d8dee9;
    padding: 22px 0;
}

.mbcro-steps {
    align-items: center;
    border-bottom: 1px solid #d8dee9;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 26px;
    padding: 0 0 18px;
}
.mbcro-steps span,
.mbcro-steps strong { color: #687689; font-size: .82rem; }
.mbcro-steps strong { color: #0c57a0; }
.mbcro-auth-grid { display: grid; gap: 30px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mbcro-auth-grid > section { border: 1px solid #d8e1ea; border-radius: 6px; padding: 24px; }
.mbcro-account-form { display: grid; gap: 14px; }
.mbcro-resend { border-top: 1px solid #e1e7ed; margin-top: 18px; padding-top: 14px; }
.mbcro-resend summary { color: #0c57a0; cursor: pointer; font-weight: 700; }
.mbcro-resend form { display: grid; gap: 12px; margin-top: 14px; }
.mbcro-section-heading { align-items: start; display: flex; gap: 20px; justify-content: space-between; }
.mbcro-section-heading p { color: #566174; margin: -6px 0 12px; }
.mbcro-state-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.mbcro-secondary-button,
.mbcro-text-button { background: #fff; border: 1px solid #1769aa; border-radius: 4px; color: #0c57a0; cursor: pointer; font: inherit; font-weight: 700; padding: 8px 12px; }
.mbcro-text-button { border: 0; text-decoration: underline; text-underline-offset: 3px; }
.mbcro-location { border: 1px solid #d8e1ea; border-radius: 6px; margin: 0 0 16px; padding: 18px; }
.mbcro-location legend { font-weight: 750; padding: 0 8px; }
.mbcro-choice-row { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-bottom: 16px; }
.mbcro-choice-row label { align-items: center; display: flex; gap: 7px; }
.mbcro-choice-row input { width: auto; }
.mbcro-portal-summary { background: #f4f8fc; border: 1px solid #d5e1ed; border-radius: 6px; display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 26px; padding: 20px; }
.mbcro-kicker { color: #1769aa; display: block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.mbcro-portal-summary h2 { margin: 3px 0 0; }
.mbcro-portal-summary strong { display: block; margin-top: 5px; }
.mbcro-saved-files { background: #edf8f1; border-left: 3px solid #16834d; padding: 8px 10px; }
.mbcro-embed { border-top: 1px solid #d8dee9; margin-top: 30px; padding-top: 26px; }
.mbcro-embed-preview img { height: auto; max-width: 520px; width: 100%; }
.mbcro-code { box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; margin-top: 8px; width: 100%; }

.mbcro-form h2,
.mbcro-directory h2 {
    font-size: 1.35rem;
    margin: 0 0 14px;
}

.mbcro-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mbcro-form label,
.mbcro-directory-filter label {
    display: grid;
    font-weight: 650;
    gap: 6px;
}

.mbcro-form input,
.mbcro-form select,
.mbcro-form textarea,
.mbcro-directory select {
    border: 1px solid #aeb8c7;
    border-radius: 4px;
    box-sizing: border-box;
    font: inherit;
    padding: 10px 11px;
    width: 100%;
}

.mbcro-states {
    display: grid;
    gap: 8px 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mbcro-states label,
.mbcro-attestation {
    align-items: start;
    display: flex;
    font-weight: 500;
    gap: 8px;
}

.mbcro-states input,
.mbcro-attestation input {
    margin-top: 3px;
    width: auto;
}

.mbcro-state-proof {
    border-left: 3px solid #1769aa;
    margin-top: 18px;
    padding: 4px 0 4px 16px;
}

.mbcro-proof-row {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
    margin: 14px 0;
}

.mbcro-proof-row p {
    color: #566174;
    grid-column: 1 / -1;
    margin: 0;
}

.mbcro-submit,
.mbcro-filter-submit {
    background: #1769aa;
    border: 0;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    margin-top: 20px;
    padding: 12px 18px;
}

.mbcro-notice {
    border-left: 4px solid #1769aa;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.mbcro-notice.is-success { background: #edf8f1; border-color: #16834d; }
.mbcro-notice.is-error { background: #fff0f0; border-color: #b42318; }
.mbcro-fineprint { color: #5f6878; font-size: .9rem; }

.mbcro-directory-filter {
    align-items: center;
    background: #f4f8fc;
    border: 1px solid #d5e1ed;
    border-radius: 8px;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr);
    margin: 44px 0 30px;
    padding: 28px;
}

.mbcro-directory-filter-copy h2 {
    font-size: clamp(1.55rem, 2.5vw, 2.15rem);
    margin: 4px 0 8px;
}

.mbcro-directory-filter-copy p {
    color: #566174;
    margin: 0;
}

.mbcro-directory-kicker {
    color: #1769aa;
    display: block;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mbcro-directory-filter-controls {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.mbcro-state-trigger {
    align-items: center;
    background: #fff;
    border: 1px solid #9eafc1;
    border-radius: 6px;
    color: #172033;
    cursor: pointer;
    display: flex;
    font: inherit;
    justify-content: space-between;
    margin: 0;
    min-height: 58px;
    padding: 8px 14px;
    text-align: left;
}

.mbcro-state-trigger:hover,
.mbcro-state-trigger:focus-visible {
    border-color: #1769aa;
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .14);
    outline: 0;
}

.mbcro-state-trigger small,
.mbcro-state-trigger strong {
    display: block;
}

.mbcro-state-trigger small { color: #687689; font-size: .72rem; font-weight: 700; }
.mbcro-state-trigger strong { font-size: 1rem; margin-top: 2px; }
.mbcro-filter-submit { margin: 0; min-height: 58px; white-space: nowrap; }

.mbcro-state-dialog {
    background: #fff;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(6, 28, 59, .28);
    box-sizing: border-box;
    color: #172033;
    margin: auto;
    max-height: min(760px, calc(100vh - 40px));
    max-width: 780px;
    padding: 28px;
    width: calc(100% - 32px);
}

.mbcro-state-dialog::backdrop { background: rgba(5, 22, 46, .66); }
.mbcro-state-dialog-head { align-items: start; display: flex; gap: 24px; justify-content: space-between; }
.mbcro-state-dialog-head h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 4px 0 20px; }
.mbcro-state-dialog-close {
    background: transparent;
    border: 0;
    color: #566174;
    cursor: pointer;
    font-size: 2rem;
    line-height: 1;
    padding: 0;
}
.mbcro-state-dialog-close:hover,
.mbcro-state-dialog-close:focus-visible { color: #0c57a0; outline: 2px solid #0c57a0; outline-offset: 4px; }
.mbcro-state-search-label { display: block; font-size: .86rem; font-weight: 750; margin-bottom: 6px; }
.mbcro-state-search {
    border: 1px solid #9eafc1;
    border-radius: 6px;
    box-sizing: border-box;
    font: inherit;
    padding: 13px 14px;
    width: 100%;
}
.mbcro-state-options {
    display: grid;
    gap: 4px 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
    max-height: 410px;
    overflow: auto;
    padding-right: 8px;
}
.mbcro-state-options button {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e3e9ef;
    color: #243447;
    cursor: pointer;
    font: inherit;
    font-weight: 650;
    padding: 10px 4px;
    text-align: left;
}
.mbcro-state-options button:hover,
.mbcro-state-options button:focus-visible,
.mbcro-state-options button.is-selected { color: #0c57a0; outline: 0; }
.mbcro-state-options button.is-selected { border-bottom-color: #1769aa; }
.mbcro-state-empty { color: #687689; margin: 18px 0 0; }

.mbcro-directory-list {
    display: grid;
    gap: 18px;
}

.mbcro-directory-empty {
    border: 1px solid #d8e1ea;
    border-left: 5px solid #4e9f2f;
    padding: 30px 32px;
}

.mbcro-directory-empty h2 { font-size: clamp(1.45rem, 2.5vw, 2rem); margin: 5px 0 10px; }
.mbcro-directory-empty p { color: #566174; margin: 0; max-width: 740px; }
.mbcro-directory-empty-actions { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 20px; }
.mbcro-directory-empty-actions a,
.mbcro-listing-record { color: #0c57a0; font-weight: 750; text-decoration-thickness: 2px; text-underline-offset: 4px; }

.mbcro-listing {
    border: 1px solid #d8e1ea;
    border-radius: 6px;
    padding: 24px;
}
.mbcro-listing-heading { align-items: baseline; display: flex; gap: 20px; justify-content: space-between; }
.mbcro-listing-heading h2 { margin: 0; }
.mbcro-listing-heading h2 a { color: #172033; text-decoration: none; }
.mbcro-reviewed { color: #1769aa; font-size: .9rem; font-weight: 700; }
.mbcro-state-coverage {
    border-top: 1px solid #d8e1ea;
    margin-top: 24px;
    padding-top: 22px;
}
.mbcro-state-coverage-heading {
    align-items: start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}
.mbcro-state-coverage-heading h3 { font-size: 1.05rem; margin: 0; }
.mbcro-state-legend { color: #566174; display: flex; flex-wrap: wrap; font-size: .78rem; gap: 8px 18px; }
.mbcro-state-legend span { align-items: center; display: inline-flex; gap: 6px; }
.mbcro-state-legend .fa-circle-check,
.mbcro-state-coverage-grid .is-verified i { color: #218739; }
.mbcro-state-legend .fa-xmark,
.mbcro-state-coverage-grid .is-unverified i { color: #a33a3a; }
.mbcro-state-coverage-grid {
    display: grid;
    gap: 0 20px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 18px 0 4px;
    padding: 0;
}
.mbcro-state-coverage-grid li {
    align-items: center;
    border-bottom: 1px solid #edf0f3;
    display: flex;
    font-size: .86rem;
    gap: 8px;
    min-width: 0;
    padding: 7px 0;
}
.mbcro-state-coverage-grid i { flex: 0 0 16px; text-align: center; }
.mbcro-state-coverage-grid span { overflow-wrap: anywhere; }
.mbcro-verification {
    border-top: 1px solid #d8dee9;
    margin-top: 32px;
    padding-top: 24px;
}
.mbcro-verification-standard {
    border-top: 1px solid #d8dee9;
    margin-top: 36px;
    padding-top: 28px;
}
.mbcro-verification-standard li + li { margin-top: 8px; }
.mbcro-verification img {
    height: auto;
    max-width: 520px;
    width: 100%;
}
.mbcro-portfolio { border: 1px solid #d8e1ea; border-top: 5px solid #1769aa; border-radius: 6px; margin-top: 20px; padding: clamp(20px, 4vw, 36px); }
.mbcro-portfolio-hero { align-items: start; display: flex; gap: 24px; justify-content: space-between; }
.mbcro-portfolio-hero h2 { font-size: clamp(1.6rem, 4vw, 2.35rem); margin: 4px 0 10px; }
.mbcro-score { align-items: center; background: #edf8f1; border: 1px solid #b9dfc6; border-radius: 6px; display: flex; flex: 0 0 auto; gap: 10px; padding: 12px 16px; }
.mbcro-score strong { color: #176c3c; font-size: 2rem; line-height: 1; }
.mbcro-score span { color: #315441; font-size: .72rem; font-weight: 700; line-height: 1.25; }
.mbcro-portfolio-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mbcro-portfolio > section:not(.mbcro-portfolio-hero),
.mbcro-portfolio-grid > section { border-top: 1px solid #e1e7ed; margin-top: 20px; padding-top: 18px; }
.mbcro-portfolio h3 { font-size: 1.05rem; margin: 0 0 8px; }
.mbcro-location-list,
.mbcro-proof-list { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.mbcro-location-list li { display: grid; gap: 2px; }
.mbcro-location-list span { color: #566174; }
.mbcro-portfolio-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.mbcro-portfolio-actions a { border: 1px solid #1769aa; border-radius: 4px; color: #0c57a0; font-weight: 750; padding: 9px 12px; text-decoration: none; }

@media (max-width: 760px) {
    .mbcro-grid,
    .mbcro-proof-row { grid-template-columns: 1fr; }
    .mbcro-steps { align-items: start; grid-template-columns: 1fr 1fr; }
    .mbcro-auth-grid,
    .mbcro-portal-summary,
    .mbcro-portfolio-grid { grid-template-columns: 1fr; }
    .mbcro-section-heading,
    .mbcro-portfolio-hero { display: block; }
    .mbcro-state-actions { margin-bottom: 14px; }
    .mbcro-score { margin-top: 18px; width: fit-content; }
    .mbcro-states { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mbcro-directory { width: calc(100vw - 28px); }
    .mbcro-directory-filter { gap: 20px; grid-template-columns: 1fr; margin-top: 34px; padding: 22px 18px; }
    .mbcro-directory-filter-controls { grid-template-columns: 1fr; }
    .mbcro-state-dialog { max-height: calc(100vh - 20px); padding: 22px 18px; width: calc(100% - 20px); }
    .mbcro-state-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mbcro-listing-heading { align-items: start; flex-direction: column; gap: 8px; }
    .mbcro-state-coverage-heading { display: block; }
    .mbcro-state-legend { margin-top: 10px; }
    .mbcro-state-coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mbcro-directory-empty { padding: 24px 20px; }
}
