/* Jazz Bantam's authenticated shell. Keep other tenant identities intact. */
body.le-jazz-bantam-shell {
    --le-bg: #f5f5f8;
    --le-surface: #fff;
    --le-surface-2: #f8f7fa;
    --le-surface-3: #f0edf4;
    --le-border: #e5e1eb;
    --le-border-soft: #edeaf1;
    --le-text: #282330;
    --le-text-muted: #6e6679;
    --le-text-soft: #766d82;
    --jazz-accent: #6425a0;
    --jazz-accent-hover: #4e187f;
    --jazz-accent-soft: #f1e9f9;
    --jazz-on-accent: #fff;
    --bs-link-color: var(--jazz-accent);
    --bs-link-hover-color: var(--jazz-accent-hover);
    --bs-body-bg: var(--le-bg);
    --bs-body-color: var(--le-text);
    --bs-secondary-color: var(--le-text-muted);
    background: var(--le-bg);
    color: var(--le-text);
}
[data-bs-theme="dark"] body.le-jazz-bantam-shell,
[data-bs-theme="dark"] body.le-area-leagueadmin.le-jazz-bantam-shell {
    --le-bg: #19181e;
    --le-surface: #222128;
    --le-surface-2: #29262f;
    --le-surface-3: #302b38;
    --le-border: #443d4d;
    --le-border-soft: #39323f;
    --le-text: #f3f0f8;
    --le-text-muted: #b9b1c5;
    --le-text-soft: #aaa1b6;
    --jazz-accent: #c69aef;
    --jazz-accent-hover: #debcfa;
    --jazz-accent-soft: #39264b;
    --jazz-on-accent: #261332;
}
body.le-jazz-bantam-shell .card,
body.le-jazz-bantam-shell .le-stat,
body.le-jazz-bantam-shell .le-feature,
body.le-jazz-bantam-shell .le-sidebar-panel {
    background: var(--le-surface);
    border-color: var(--le-border);
    box-shadow: none;
}
body.le-jazz-bantam-shell .card:hover { box-shadow: none; }
html[data-le-scope="league"] body.le-area-leagueadmin.le-jazz-bantam-shell { --le-sidebar-width: 280px; }
[data-bs-theme][data-le-scope="league"] body.le-area-leagueadmin.le-jazz-bantam-shell .le-sidebar-panel {
    background: var(--le-surface);
    border-color: var(--le-border);
    box-shadow: none;
}
body.le-jazz-bantam-shell::before,
body.le-jazz-bantam-shell::after { display: none; }
body.le-jazz-bantam-shell .le-eyebrow { color: var(--jazz-accent); }
body.le-jazz-bantam-shell .le-sidebar-global-search button {
    background: var(--jazz-accent);
    color: var(--jazz-on-accent);
}
body.le-jazz-bantam-shell .card-header { background: var(--le-surface); }
body.le-jazz-bantam-shell .btn-primary {
    --bs-btn-bg: var(--jazz-accent);
    --bs-btn-color: var(--jazz-on-accent);
    --bs-btn-border-color: var(--jazz-accent);
    --bs-btn-hover-bg: var(--jazz-accent-hover);
    --bs-btn-hover-color: var(--jazz-on-accent);
    --bs-btn-hover-border-color: var(--jazz-accent-hover);
    --bs-btn-active-bg: var(--jazz-accent-hover);
    --bs-btn-active-color: var(--jazz-on-accent);
    --bs-btn-active-border-color: var(--jazz-accent-hover);
    background-image: none;
    box-shadow: none;
    color: var(--jazz-on-accent);
}
body.le-jazz-bantam-shell .btn-primary:hover { background-image: none; box-shadow: none; }
body.le-jazz-bantam-shell .le-sidebar-link { font-weight: 500; }
body.le-jazz-bantam-shell .le-sidebar-link:hover { transform: none; }
[data-bs-theme] body.le-jazz-bantam-shell .le-sidebar-link.active {
    color: var(--jazz-accent);
    background: var(--jazz-accent-soft);
    box-shadow: none;
}
[data-bs-theme][data-le-scope] body.le-jazz-bantam-shell .le-sidebar-link.active .le-sidebar-icon,
[data-bs-theme="dark"] body.le-area-leagueadmin.le-jazz-bantam-shell .le-sidebar-link.active .le-sidebar-icon {
    color: var(--jazz-accent);
}
[data-bs-theme] body.le-jazz-bantam-shell .le-sidebar-group-row:has(> .le-sidebar-link.active) {
    background: var(--jazz-accent-soft);
}
[data-bs-theme] body.le-jazz-bantam-shell .le-sidebar-group-row:has(> .le-sidebar-link.active) > .le-sidebar-link.active {
    color: var(--jazz-accent);
    background: transparent;
}
[data-bs-theme] body.le-jazz-bantam-shell .le-sidebar-group-row:has(> .le-sidebar-link.active) > .le-sidebar-link.active .le-sidebar-icon,
[data-bs-theme] body.le-jazz-bantam-shell .le-sidebar-group-row:has(> .le-sidebar-link.active) > .le-sidebar-caret {
    color: var(--jazz-accent);
}
body.le-jazz-bantam-shell .le-sidebar-section-title { letter-spacing: .1em; font-size: .68rem; }
.le-jazz-wordmark { color: #fff; margin-left: .75rem; font-size: 1rem; font-weight: 700; line-height: 1.25; }
.le-jazz-wordmark small { display: block; margin-top: .2rem; color: #d4cedd; font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; }

/* The report can also be inspected inside the neutral software-admin shell. */
body.le-area-leagueadmin:not(.le-jazz-bantam-shell) { --jazz-accent: var(--bs-link-color); --jazz-accent-soft: var(--le-brand-50); }
.jazz-dashboard h2, .jazz-dashboard h3 { text-transform: none; }
.jazz-season-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.jazz-season-picker { display: flex; gap: .5rem; align-items: center; max-width: 100%; }
.jazz-season-picker .form-select { min-width: 0; width: auto; flex: 1; }
.jazz-season-picker .btn { flex-shrink: 0; }
.jazz-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.jazz-total { display: block; padding: 1.25rem 1.5rem; background: var(--le-surface); border: 1px solid var(--le-border); border-radius: 14px; color: var(--le-text); text-decoration: none; }
.jazz-total:hover { color: var(--le-text); border-color: var(--jazz-accent); }
.jazz-total span { font-size: .8rem; color: var(--le-text-muted); }
.jazz-total strong { display: block; font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 650; letter-spacing: -.04em; font-variant-numeric: tabular-nums; margin-top: .3rem; }
.jazz-panel { background: var(--le-surface); border: 1px solid var(--le-border); border-radius: 14px; margin-bottom: 1.5rem; overflow: hidden; min-width: 0; }
.jazz-panel-heading { padding: 1.15rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--le-border); flex-wrap: wrap; }
.jazz-panel-heading h2 { margin: 0; font-size: 1rem; font-weight: 650; letter-spacing: -.015em; }
.jazz-panel-heading a, .jazz-attention-row > a { font-size: .8rem; font-weight: 600; }
.jazz-count { display: inline-block; padding: .2rem .55rem; margin-left: .4rem; border-radius: 20px; background: var(--jazz-accent-soft); color: var(--jazz-accent); font-size: .7rem; vertical-align: middle; }
.jazz-attention-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.15rem 1.5rem; border-bottom: 1px solid var(--le-border); }
.jazz-attention-row:last-child { border-bottom: 0; }
.jazz-attention-row h3, .jazz-event h3, .jazz-empty-state h3 { font-size: .875rem; font-weight: 600; margin: 0 0 .3rem; }
.jazz-attention-row p, .jazz-event p, .jazz-empty-state p { font-size: .8rem; color: var(--le-text-muted); margin: 0; }
.jazz-task-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: var(--jazz-accent-soft); color: var(--jazz-accent); }
.jazz-task-icon svg { width: 19px; height: 19px; }
.jazz-dashboard-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; }
.jazz-readiness { padding: 1.5rem; }
.jazz-progress-item + .jazz-progress-item { margin-top: 1.35rem; }
.jazz-progress-label { display: flex; justify-content: space-between; gap: .75rem; margin-bottom: .6rem; font-size: .8rem; }
.jazz-progress-label a { color: var(--le-text); }
.jazz-progress-label span { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--le-text-muted); }
.jazz-progress-track { height: 6px; background: var(--le-surface-3); border-radius: 10px; overflow: hidden; }
.jazz-progress-track span { display: block; height: 100%; background: var(--jazz-accent); border-radius: inherit; }
.jazz-event { display: flex; gap: 1rem; align-items: flex-start; padding: 1.4rem 1.5rem; }
.jazz-event + .jazz-event { border-top: 1px solid var(--le-border); }
.jazz-event-date { flex: 0 0 46px; padding: .35rem; text-align: center; border-radius: 8px; background: var(--le-surface-2); color: var(--le-text-muted); text-transform: uppercase; font-size: .65rem; }
.jazz-event-date strong { display: block; color: var(--le-text); font-size: 1.3rem; font-weight: 600; }
.jazz-empty-state { padding: 1.5rem; }
.jazz-empty-state a { display: inline-block; margin-top: 1rem; font-size: .8rem; font-weight: 600; }
.jazz-report-details { margin: 0 0 1.5rem; border: 1px solid var(--le-border); border-radius: 14px; background: var(--le-surface); }
.jazz-report-details > summary { padding: 1.15rem 1.5rem; cursor: pointer; font-size: .875rem; font-weight: 600; }
.jazz-report-details[open] > summary { border-bottom: 1px solid var(--le-border); }
.jazz-report-content { padding: 1.5rem; }
.le-dashboard-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; border-top: 1px solid var(--le-border); padding: 1.25rem 0; }
.le-dashboard-shortcuts a { font-size: .8rem; padding: .35rem 0; }
@media (max-width: 1199.98px) { .jazz-dashboard-grid { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 575.98px) {
    .jazz-totals { gap: .5rem; }
    .jazz-total { padding: 1rem .75rem; }
    .jazz-season-picker { width: 100%; }
    .jazz-panel-heading, .jazz-readiness, .jazz-event, .jazz-empty-state, .jazz-report-content { padding: 1rem; }
    .jazz-attention-row { grid-template-columns: 32px minmax(0, 1fr); gap: .75rem; padding: 1rem; }
    .jazz-task-icon { width: 32px; height: 32px; }
    .jazz-attention-row > a { grid-column: 2; justify-self: start; min-height: 44px; display: inline-flex; align-items: center; gap: .4rem; }
    .jazz-report-details > summary { padding: 1rem; }
    .le-dashboard-shortcuts a { min-height: 44px; display: inline-flex; align-items: center; }
}
