.bm-trainerportal {
    --bm-sidebar: #15251d;
    --bm-sidebar-hover: #20372b;
    --bm-accent: #1f6f43;
    --bm-accent-dark: #175735;
    --bm-border: #dfe5ea;
    --bm-bg: #f4f7f5;
    --bm-text: #17202a;
    --bm-muted: #657582;
    box-sizing: border-box;
    width: min(1500px, calc(100% - 24px));
    margin: 20px auto;
    color: var(--bm-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bm-trainerportal *,
.bm-trainerportal *::before,
.bm-trainerportal *::after {
    box-sizing: inherit;
}

.bm-app-shell {
    display: grid;
    min-height: 78vh;
    grid-template-columns: 270px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--bm-border);
    border-radius: 22px;
    background: var(--bm-bg);
    box-shadow: 0 18px 55px rgba(23, 32, 42, 0.12);
}

.bm-app-sidebar {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 22px 16px;
    background: var(--bm-sidebar);
    color: #ffffff;
}

.bm-app-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 8px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.bm-app-brand-icon {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    place-items: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.5rem;
}

.bm-app-brand strong,
.bm-app-brand small {
    display: block;
}

.bm-app-brand strong {
    font-size: 1rem;
}

.bm-app-brand small {
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.65);
}

.bm-app-nav {
    display: grid;
    gap: 5px;
    margin: 20px 0;
}

.bm-app-nav-link {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 11px;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 680;
    text-decoration: none;
}

.bm-app-nav-link:hover,
.bm-app-nav-link:focus {
    background: var(--bm-sidebar-hover);
    color: #ffffff;
    text-decoration: none;
}

.bm-app-nav-link.is-active {
    background: #ffffff;
    color: var(--bm-sidebar);
}

.bm-app-nav-icon {
    width: 24px;
    flex: 0 0 24px;
    text-align: center;
}

.bm-app-user {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: auto;
    padding: 16px 8px 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bm-app-avatar {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 50%;
    background: #ffffff;
    color: var(--bm-sidebar);
    font-weight: 800;
}

.bm-app-user-text {
    min-width: 0;
}

.bm-app-user-text strong,
.bm-app-user-text a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bm-app-user-text a {
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.84rem;
    text-decoration: none;
}

.bm-app-main {
    min-width: 0;
    padding: 32px;
}

.bm-mobile-header {
    display: none;
}

.bm-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.bm-section-heading h2,
.bm-section-heading p {
    margin: 0;
}

.bm-section-heading h2 {
    margin-top: 4px;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.bm-section-heading p {
    margin-top: 8px;
    color: var(--bm-muted);
}

.bm-trainerportal-eyebrow {
    display: block;
    color: #566573;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bm-trainerportal-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 120ms ease, box-shadow 120ms ease;
}

.bm-trainerportal-button:hover,
.bm-trainerportal-button:focus {
    transform: translateY(-1px);
    text-decoration: none;
}

.bm-trainerportal-button-primary {
    background: var(--bm-accent);
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(31, 111, 67, 0.22);
}

.bm-trainerportal-button-primary:hover,
.bm-trainerportal-button-primary:focus {
    background: var(--bm-accent-dark);
    color: #ffffff;
}

.bm-trainerportal-button-secondary {
    border-color: #cfd8df;
    background: #ffffff;
    color: #273746;
}

.bm-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.bm-dashboard-stats article,
.bm-detail-stats article {
    padding: 20px;
    border: 1px solid var(--bm-border);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(23, 32, 42, 0.05);
}

.bm-dashboard-stats span,
.bm-dashboard-stats small,
.bm-detail-stats span,
.bm-detail-stats small {
    display: block;
    color: var(--bm-muted);
}

.bm-dashboard-stats strong,
.bm-detail-stats strong {
    display: block;
    margin: 7px 0 2px;
    font-size: 2rem;
}

.bm-dashboard-stats .bm-dashboard-date {
    font-size: 1.35rem;
}

.bm-dashboard-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.bm-dashboard-action {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border: 1px solid var(--bm-border);
    border-radius: 16px;
    background: #ffffff;
    color: var(--bm-text);
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(23, 32, 42, 0.05);
}

.bm-dashboard-action:hover,
.bm-dashboard-action:focus {
    border-color: #a9c8b6;
    text-decoration: none;
}

.bm-dashboard-action > span {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 14px;
    background: #edf5f0;
    font-size: 1.45rem;
}

.bm-dashboard-action strong,
.bm-dashboard-action small {
    display: block;
}

.bm-dashboard-action small {
    margin-top: 4px;
    color: var(--bm-muted);
}

.bm-history-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--bm-border);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 28px rgba(23, 32, 42, 0.06);
}

.bm-history-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.bm-history-table th,
.bm-history-table td {
    padding: 16px;
    border-bottom: 1px solid #e8edf1;
    text-align: left;
    vertical-align: middle;
}

.bm-history-table th {
    background: #f6f8fa;
    color: #566573;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bm-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.bm-history-table tbody tr:hover {
    background: #fbfcfd;
}

.bm-history-table small {
    display: block;
    margin-top: 2px;
    color: #7b8a97;
}

.bm-history-actions {
    text-align: right !important;
}

.bm-muted {
    color: #95a5a6;
}

.bm-back-link {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--bm-accent);
    font-weight: 700;
    text-decoration: none;
}

.bm-detail-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.bm-result {
    font-size: 1.15rem;
}

.bm-trainerportal-login {
    display: grid;
    min-height: 60vh;
    place-items: center;
}

.bm-trainerportal-login-card,
.bm-trainerportal-message,
.bm-empty-state {
    width: min(560px, 100%);
    padding: 28px;
    border: 1px solid var(--bm-border);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 28px rgba(23, 32, 42, 0.08);
}

.bm-trainerportal-login-card h2 {
    margin: 6px 0 8px;
}

.bm-trainerportal-login-card form p {
    margin-bottom: 16px;
}

.bm-trainerportal-login-card input[type="text"],
.bm-trainerportal-login-card input[type="password"] {
    width: 100%;
    min-height: 46px;
}

.bm-trainerportal-login-card input[type="submit"] {
    min-height: 46px;
    padding: 10px 18px;
    border: 0;
    border-radius: 10px;
    background: var(--bm-accent);
    color: #ffffff;
    font-weight: 750;
    cursor: pointer;
}

.bm-trainerportal-error {
    border-color: #d63638;
}

.bm-empty-state {
    margin: 32px auto;
    text-align: center;
}

.bm-empty-state > span:first-child {
    display: block;
    margin-bottom: 12px;
    font-size: 3rem;
}

.bm-empty-state h2,
.bm-empty-state h3,
.bm-empty-state p {
    margin: 0;
}

.bm-empty-state h2,
.bm-empty-state h3 {
    margin-top: 8px;
}

.bm-empty-state p {
    margin: 10px 0 18px;
    color: var(--bm-muted);
}

.bm-trainerportal-coming {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef2f5;
    color: #566573;
    font-size: 0.88rem;
    font-weight: 700;
}

.bm-trainerportal-training > .wrap {
    width: 100%;
    margin: 0;
}

@media (max-width: 1100px) {
    .bm-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bm-dashboard-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 850px) {
    .bm-trainerportal {
        width: min(100% - 12px, 1500px);
        margin: 6px auto;
    }

    .bm-app-shell {
        display: block;
        min-height: 0;
        border-radius: 16px;
    }

    .bm-app-sidebar {
        display: none;
    }

    .bm-app-main {
        padding: 18px;
    }

    .bm-mobile-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        margin: -18px -18px 24px;
        padding: 16px 18px;
        background: var(--bm-sidebar);
        color: #ffffff;
    }

    .bm-mobile-header strong,
    .bm-mobile-header small {
        display: block;
    }

    .bm-mobile-header small {
        margin-top: 3px;
        color: rgba(255, 255, 255, 0.65);
    }

    .bm-mobile-menu {
        position: relative;
    }

    .bm-mobile-menu summary {
        min-width: 92px;
        padding: 8px 12px;
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 9px;
        cursor: pointer;
        font-weight: 700;
        list-style: none;
    }

    .bm-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .bm-mobile-menu .bm-app-nav {
        position: absolute;
        z-index: 50;
        top: 44px;
        right: 0;
        width: min(290px, calc(100vw - 32px));
        padding: 10px;
        border-radius: 14px;
        background: var(--bm-sidebar);
        box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
    }

    .bm-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .bm-section-heading .bm-trainerportal-button {
        width: 100%;
    }
}

@media (max-width: 650px) {
    .bm-dashboard-stats,
    .bm-detail-stats {
        grid-template-columns: 1fr;
    }

    .bm-history-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .bm-history-table,
    .bm-history-table tbody,
    .bm-history-table tr,
    .bm-history-table td {
        display: block;
        width: 100%;
    }

    .bm-history-table thead {
        display: none;
    }

    .bm-history-table tr {
        margin-bottom: 14px;
        padding: 10px 16px;
        border: 1px solid var(--bm-border);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 6px 18px rgba(23, 32, 42, 0.05);
    }

    .bm-history-table td {
        display: grid;
        grid-template-columns: minmax(110px, 40%) 1fr;
        gap: 10px;
        padding: 10px 0;
        border-bottom: 1px solid #edf1f4;
    }

    .bm-history-table td::before {
        content: attr(data-label);
        color: var(--bm-muted);
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .bm-history-table td:last-child {
        border-bottom: 0;
    }

    .bm-history-actions {
        display: block !important;
        padding-top: 14px !important;
        text-align: left !important;
    }

    .bm-history-actions .bm-trainerportal-button {
        width: 100%;
    }
}


.bm-inline-notice {
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: #ffffff;
    font-weight: 650;
}

.bm-inline-notice-success {
    border-color: #8ec5a3;
    background: #edf8f1;
    color: #175735;
}

.bm-inline-notice-error {
    border-color: #e2a4a5;
    background: #fff2f2;
    color: #8a2426;
}

.bm-shooter-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.bm-shooter-summary article {
    padding: 18px 20px;
    border: 1px solid var(--bm-border);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(23, 32, 42, 0.05);
}

.bm-shooter-summary span {
    display: block;
    color: var(--bm-muted);
}

.bm-shooter-summary strong {
    display: block;
    margin-top: 6px;
    font-size: 1.85rem;
}

.bm-shooter-form-card,
.bm-shooter-list-card {
    margin-bottom: 22px;
    padding: 22px;
    border: 1px solid var(--bm-border);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 28px rgba(23, 32, 42, 0.06);
}

.bm-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.bm-card-heading h3 {
    margin: 5px 0 0;
    font-size: 1.35rem;
}

.bm-shooter-form .bm-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.bm-shooter-form label {
    display: block;
}

.bm-shooter-form label > span {
    display: block;
    margin-bottom: 7px;
    color: #34434f;
    font-weight: 720;
}

.bm-shooter-form input,
.bm-shooter-form select {
    width: 100%;
    min-height: 46px;
    padding: 9px 12px;
    border: 1px solid #cbd5dc;
    border-radius: 10px;
    background: #ffffff;
    color: var(--bm-text);
    font: inherit;
}

.bm-shooter-form input:focus,
.bm-shooter-form select:focus {
    border-color: var(--bm-accent);
    outline: 3px solid rgba(31, 111, 67, 0.13);
}

.bm-form-field-wide {
    grid-column: 1 / -1;
}

.bm-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.bm-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 780;
}

.bm-status-active {
    background: #e7f5ec;
    color: #17643b;
}

.bm-status-inactive {
    background: #edf0f2;
    color: #657582;
}

.bm-history-table tr.is-inactive {
    opacity: 0.68;
}

.bm-action-group {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
}

.bm-small-button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid #cbd5dc;
    border-radius: 8px;
    background: #ffffff;
    color: #273746;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.bm-small-button:hover,
.bm-small-button:focus {
    border-color: #91aa9b;
    text-decoration: none;
}

.bm-small-button-danger {
    border-color: #e1a1a2;
    color: #9a2c2e;
}

@media (max-width: 850px) {
    .bm-shooter-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .bm-shooter-summary,
    .bm-shooter-form .bm-form-grid {
        grid-template-columns: 1fr;
    }

    .bm-form-field-wide {
        grid-column: auto;
    }

    .bm-card-heading {
        flex-direction: column;
    }

    .bm-form-actions .bm-trainerportal-button {
        width: 100%;
    }

    .bm-action-group {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .bm-small-button {
        width: 100%;
    }
}


.bm-history-filter {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 160px 170px auto auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 22px;
    padding: 18px;
    border: 1px solid var(--bm-border);
    border-radius: 16px;
    background: #fff;
}

.bm-history-filter label > span {
    display: block;
    margin-bottom: 6px;
    font-weight: 720;
}

.bm-history-filter input,
.bm-history-filter select {
    width: 100%;
    min-height: 46px;
    padding: 9px 12px;
    border: 1px solid #cbd5dc;
    border-radius: 10px;
    background: #fff;
    font: inherit;
}

.bm-training-list {
    display: grid;
    gap: 16px;
}

.bm-training-list-card {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--bm-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(23,32,42,.06);
}

.bm-training-date-block {
    display: grid;
    place-content: center;
    padding: 20px;
    background: #edf5f0;
    text-align: center;
}

.bm-training-date-block strong {
    font-size: 2.25rem;
    line-height: 1;
}

.bm-training-date-block span {
    margin-top: 7px;
    color: var(--bm-muted);
    font-weight: 750;
}

.bm-training-list-content {
    padding: 20px;
}

.bm-training-list-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.bm-training-list-heading h3,
.bm-training-list-heading p {
    margin: 0;
}

.bm-training-list-heading p {
    margin-top: 5px;
    color: var(--bm-muted);
}

.bm-training-top-score {
    align-self: flex-start;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff6d8;
    font-weight: 800;
    white-space: nowrap;
}

.bm-training-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin: 18px 0;
    color: var(--bm-muted);
}

.bm-training-metrics strong {
    color: var(--bm-text);
}

.bm-training-list-actions,
.bm-participant-actions {
    display: flex;
    gap: 10px;
}

.bm-trainerportal-button-danger {
    border-color: #e1a1a2;
    background: #fff;
    color: #9a2c2e;
}

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

.bm-participant-card {
    padding: 22px;
    border: 1px solid var(--bm-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(23,32,42,.06);
}

.bm-participant-card-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.bm-participant-card-head h3 {
    margin: 4px 0;
}

.bm-place {
    font-size: 1.5rem;
}

.bm-participant-score {
    text-align: right;
}

.bm-participant-score strong {
    display: block;
    color: var(--bm-accent);
    font-size: 2.3rem;
    line-height: 1;
}

.bm-participant-score span,
.bm-participant-card small {
    color: var(--bm-muted);
}

.bm-participant-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0;
}

.bm-participant-metrics span {
    padding: 12px;
    border-radius: 12px;
    background: #f4f7f5;
    color: var(--bm-muted);
    font-size: .82rem;
}

.bm-participant-metrics strong {
    display: block;
    margin-top: 4px;
    color: var(--bm-text);
    font-size: 1.2rem;
}

.bm-award-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.bm-award-chips span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff6d8;
    font-size: .84rem;
    font-weight: 720;
}

@media (max-width: 1050px) {
    .bm-history-filter {
        grid-template-columns: 1fr 1fr;
    }

    .bm-history-search {
        grid-column: 1 / -1;
    }

    .bm-participant-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .bm-history-filter {
        grid-template-columns: 1fr;
    }

    .bm-history-search {
        grid-column: auto;
    }

    .bm-training-list-card {
        grid-template-columns: 1fr;
    }

    .bm-training-date-block {
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: 8px;
    }

    .bm-training-list-heading,
    .bm-participant-card-head {
        flex-direction: column;
    }

    .bm-training-top-score {
        align-self: flex-start;
    }

    .bm-training-list-actions,
    .bm-participant-actions {
        display: grid;
    }

    .bm-training-list-actions .bm-trainerportal-button,
    .bm-participant-actions .bm-trainerportal-button {
        width: 100%;
    }

    .bm-participant-score {
        text-align: left;
    }

    .bm-participant-metrics {
        grid-template-columns: 1fr;
    }
}


/* Leistungsabzeichen */
.bm-la-page { display:grid; gap:22px; }
.bm-la-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.bm-la-back { display:inline-block; margin-bottom:12px; color:var(--bm-accent); font-weight:750; text-decoration:none; }
.bm-la-event-grid,.bm-la-grid { display:grid; gap:14px; }
.bm-la-event { display:grid; grid-template-columns:88px minmax(0,1fr) 30px; gap:18px; align-items:center; padding:18px; border:1px solid var(--bm-border); border-radius:16px; background:#fff; color:var(--bm-text); text-decoration:none; box-shadow:0 7px 22px rgba(23,32,42,.06); }
.bm-la-event:hover { border-color:#a9c9b7; transform:translateY(-1px); color:var(--bm-text); text-decoration:none; }
.bm-la-event-date { display:grid; place-items:center; min-height:72px; border-radius:13px; background:#edf5f0; color:var(--bm-accent-dark); }
.bm-la-event-date strong { font-size:1.7rem; line-height:1; }
.bm-la-event-date span { font-size:.78rem; font-weight:700; text-transform:uppercase; }
.bm-la-event-main h3 { margin:4px 0; font-size:1.12rem; }
.bm-la-event-main p { margin:0 0 10px; color:var(--bm-muted); }
.bm-la-status { font-size:.75rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--bm-accent); }
.bm-la-track { height:7px; overflow:hidden; border-radius:999px; background:#e8ece9; }
.bm-la-track span { display:block; height:100%; border-radius:inherit; background:var(--bm-accent); }
.bm-la-chevron { font-size:2rem; color:var(--bm-muted); }
.bm-la-progress-ring { display:grid; min-width:130px; place-items:center; padding:16px; border-radius:16px; background:#fff; border:1px solid var(--bm-border); }
.bm-la-progress-ring strong { font-size:1.65rem; color:var(--bm-accent); }
.bm-la-progress-ring span { color:var(--bm-muted); font-size:.82rem; }
.bm-la-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bm-la-person { padding:18px; border:1px solid var(--bm-border); border-radius:16px; background:#fff; }
.bm-la-person-top { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.bm-la-person-top small,.bm-la-person-top span { color:var(--bm-muted); }
.bm-la-person-top h3 { margin:3px 0; }
.bm-la-badge { flex:0 0 auto; padding:7px 10px; border-radius:999px; background:#eef1f3; font-size:.75rem; font-weight:900; }
.bm-la-badge.is-silber { background:#e4e7ea; color:#41484d; }
.bm-la-badge.is-gold { background:#fff1b8; color:#765900; }
.bm-la-badge.is-elite { background:#17202a; color:#fff; }
.bm-la-values { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:16px; }
.bm-la-values div { padding:10px; border-radius:10px; background:#f5f7f6; text-align:center; }
.bm-la-values span,.bm-la-values strong { display:block; }
.bm-la-values span { color:var(--bm-muted); font-size:.75rem; }
.bm-la-values strong { margin-top:3px; font-size:1.1rem; }
.bm-la-hint { margin:14px 0 0; color:var(--bm-muted); font-size:.88rem; }
@media(max-width:800px){.bm-la-grid{grid-template-columns:1fr}.bm-la-heading{align-items:stretch;flex-direction:column}.bm-la-event{grid-template-columns:68px minmax(0,1fr) 20px}.bm-la-values{grid-template-columns:repeat(2,1fr)}}
