/* Jazz Bantam phone density. Loaded after workspace and Jazz view styles in
   both browser and native-app layouts. Desktop keeps its existing geometry. */
.jazz-roster-toggle { display: none; }
body.le-jazz-views .jazz-mobile-details > summary {
    cursor: pointer;
    min-height: 44px;
    padding: .65rem 0;
    font-size: .875rem;
    font-weight: 600;
    color: var(--workspace-accent);
}
body.le-jazz-views .jazz-mobile-details > summary.card-header { padding: .75rem 1rem; }
body.le-jazz-views .jazz-mobile-details-content { padding-bottom: .75rem; }

@media (max-width: 991.98px) {
    body.le-jazz-views { --le-tabbar-h: 60px; }
    body.le-jazz-views.le-responsive-navigation { --le-appbar-h: 56px; }
    body.le-jazz-views .le-jazz-bantam-masthead { min-height: 56px; padding-top: 4px; padding-bottom: 4px; padding-left: 12px; }
    body.le-jazz-views .le-jazz-bantam-masthead-brand img { width: 38px; height: 38px; }
    body.le-jazz-views .le-jazz-wordmark { font-size: .95rem; margin-left: .6rem; }
    body.le-jazz-views .le-jazz-wordmark small { font-size: .75rem; margin-top: .1rem; }
    body.le-jazz-views main { min-width: 0; }
    body.le-jazz-views main.page-main { padding-top: .75rem; }
    body.le-jazz-views main h1 { font-size: 1.45rem; line-height: 1.25; margin-bottom: .5rem; }
    body.le-jazz-views main .le-eyebrow { font-size: .75rem; }
    body.le-jazz-views main :is(.card-body, .card-header) { padding: .75rem; }
    body.le-jazz-views main :is(.mb-4, .mb-5) { margin-bottom: 1rem !important; }
    body.le-jazz-views main :is(.mt-4, .mt-5) { margin-top: 1rem !important; }
    body.le-jazz-views main .row.g-4 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
    body.le-jazz-views main :is(.btn, summary) { min-height: 44px; }
    body.le-jazz-views main :is(input.form-control, select.form-select, textarea.form-control) { font-size: 16px; }
    body.le-jazz-views main :is(.card, .d-flex > *, .row > *) { min-width: 0; }
    body.le-jazz-views main :is(.badge, p, dd) { overflow-wrap: break-word; }
    body.le-jazz-views main .badge { font-size: .75rem; line-height: 1.35; }
    body.le-jazz-views main .alert { padding: .75rem; }
    body.le-jazz-views .league-roster.container-fluid { padding-inline: 0; }
    body.le-jazz-views .league-roster-summary h1 { font-size: 1.35rem; }
    body.le-jazz-views .league-roster-summary .le-eyebrow { display: none; }
    body.le-jazz-views .league-roster-status { gap: .35rem !important; }
    body.le-jazz-views .league-roster-status .badge { padding: .3rem .45rem; }
    body.le-jazz-views .league-roster-summary > .jazz-mobile-details { border-bottom: 1px solid var(--le-border); }
    body.le-jazz-views table.league-roster-table > tbody > tr { padding: .75rem; gap: .55rem .75rem; border-radius: 12px; }
    body.le-jazz-views table.league-roster-table > tbody > tr > .league-roster-player {
        display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding-bottom: .4rem;
    }
    body.le-jazz-views .league-roster-player > .small { order: 1; flex-basis: 100%; }
    body.le-jazz-views .league-roster-player a { font-size: 1rem; }
    body.le-jazz-views .jazz-roster-toggle { display: inline-flex; align-items: center; flex-shrink: 0; }
    body.le-jazz-views .jazz-roster-enhanced:not(.jazz-roster-open) > [data-jazz-roster-detail] { display: none; }
    body.le-jazz-views .jazz-uniform-number-form { flex-wrap: nowrap !important; }
    body.le-jazz-views .jazz-uniform-number-form .form-select { flex: 1 1 auto; min-width: 0; width: 0 !important; }
    body.le-jazz-views .jazz-uniform-number-form .btn { flex: 0 0 auto; }
    body.le-jazz-views .jazz-mobile-metrics { --bs-gutter-x: .5rem; --bs-gutter-y: .5rem; }
    body.le-jazz-views .jazz-mobile-metrics > * { width: 33.333%; }
    body.le-jazz-views .jazz-mobile-metrics .h3 { font-size: 1.15rem; overflow-wrap: break-word; }
    body.le-jazz-views .jazz-mobile-metrics .small { font-size: .75rem; }
    body.le-jazz-views .jazz-panel { margin-bottom: 1rem; }
    body.le-jazz-views :is(.jazz-panel-heading, .jazz-readiness, .jazz-event, .jazz-empty-state, .jazz-report-content) { padding: .75rem; }
    body.le-jazz-views .jazz-season-toolbar { gap: .5rem; margin-bottom: .75rem; }
    body.le-jazz-views .jazz-season-picker { min-width: 0; }
    body.le-jazz-views .jazz-season-picker .form-select { min-width: 0; }
    body.le-jazz-views .jazz-season-picker .btn { flex-shrink: 0; }
    body.le-jazz-views .jazz-totals { gap: .5rem; margin-bottom: 1rem; }
    body.le-jazz-views .jazz-total { padding: .65rem .75rem; }
    body.le-jazz-views .jazz-total strong { font-size: 1.5rem; }
    body.le-jazz-views .jazz-attention-row { padding: .75rem; gap: .35rem .65rem; }
    body.le-jazz-views .jazz-progress-item + .jazz-progress-item { margin-top: .85rem; }
    body.le-jazz-views .team-roster-header { gap: .75rem; margin-bottom: .75rem; }
    body.le-jazz-views .team-roster-meta { margin-top: .5rem !important; }
    body.le-jazz-views .team-roster-count { padding: .65rem .75rem; }
    body.le-jazz-views .team-roster-actions { gap: .5rem; margin-bottom: .75rem; }
    body.le-jazz-views .roster-player-card { padding: .75rem; gap: .65rem; }
    body.le-jazz-views .roster-detail-grid { gap: .5rem .75rem; }
    body.le-jazz-views .team-brand-hero { padding: 1rem; }
    body.le-jazz-views .team-brand-hero__logo { width: 44px; height: 44px; }
    body.le-jazz-views .jazz-requirements { padding: .75rem; }
    body.le-jazz-views .jazz-requirements h2 { font-size: .9rem; }
    body.le-jazz-views .jazz-requirements ul { gap: .25rem !important; }
    body.le-jazz-views .jazz-requirements li { padding: .3rem 0; }
    body.le-jazz-views .jazz-number-preferences .row { --bs-gutter-x: .5rem; }
    body.le-jazz-views .jazz-number-preferences .row > * { width: 33.333%; }
    body.le-jazz-views .le-reg-hero { padding: 1rem; }
    body.le-jazz-views .le-reg-lede { font-size: .9rem; }
    body.le-jazz-views .le-reg-chip { padding: .3rem .5rem; }
    body.le-jazz-views .jb-hero { padding-block: 1.5rem; }
    body.le-jazz-views .jb-invite-card { padding: 1rem; }
    body.le-jazz-views .bantam-pay-card > .card-body { padding: 1rem !important; }
    body.le-jazz-views .bantam-pay-total { padding: .75rem; margin-bottom: 1rem; }
    body.le-jazz-views .bantam-pay-total .amount { font-size: 1.35rem; }
    body.le-jazz-views .bantam-pay-section { margin-top: 1rem; }
    body.le-jazz-views .bantam-pack-plus-images { gap: .5rem; }
}
@media print {
    .jazz-roster-toggle { display: none !important; }
    body.le-jazz-views .jazz-roster-enhanced > [data-jazz-roster-detail] { display: table-cell !important; }
}
