/* Authenticated views share the dashboard's surfaces and component treatment.
   Loaded after tenant styles; public sites and sign-in screens retain theirs. */
body.le-workspace {
    --le-bg: #f5f5f8;
    --le-surface: #fff;
    --le-surface-2: #f8f7fa;
    --le-surface-3: #f0edf4;
    --le-border: #e5e1eb;
    --le-border-soft: #edeaf1;
    --le-divider: var(--le-border);
    --le-text: #282330;
    --le-text-muted: #6e6679;
    --le-text-soft: #766d82;
    --workspace-accent: var(--club-accent, var(--jazz-accent, color-mix(in srgb, var(--le-team-primary, #6425a0) 78%, #241234)));
    --workspace-on-accent: #fff;
    --workspace-soft: color-mix(in srgb, var(--workspace-accent) 9%, var(--le-surface));
    --workspace-hover: color-mix(in srgb, var(--workspace-accent) 82%, #241234);
    --bs-body-bg: var(--le-bg);
    --bs-body-color: var(--le-text);
    --bs-secondary-color: var(--le-text-muted);
    --bs-border-color: var(--le-border);
    --bs-link-color: var(--workspace-accent);
    --bs-link-hover-color: var(--workspace-hover);
    background: var(--le-bg);
    color: var(--le-text);
}
[data-bs-theme="dark"] body.le-workspace {
    /* Match the navy surfaces used by the profile chooser. */
    --le-bg: #050a12;
    --le-surface: #0b1523;
    --le-surface-2: #101e30;
    --le-surface-3: #182a40;
    --le-border: #20324a;
    --le-border-soft: #182a40;
    --le-text: #f7faff;
    --le-text-muted: #a9b7c8;
    --le-text-soft: #96a8be;
    --workspace-accent: var(--club-accent, var(--jazz-accent, color-mix(in srgb, var(--le-team-primary, #3b82f6) 42%, #fff)));
    --workspace-on-accent: #0b1523;
    --workspace-hover: color-mix(in srgb, var(--workspace-accent) 80%, #fff);
}
/* Purple surfaces belong to Jazz pages; preserve the software admin palette. */
[data-bs-theme="dark"] body.le-workspace:where(.le-jazz-views, .le-software-admin) {
    --le-bg: #19181e;
    --le-surface: #242129;
    --le-surface-2: #2a2630;
    --le-surface-3: #342d3c;
    --le-border: #443c4d;
    --le-border-soft: #39313f;
    --le-text: #f3f0f8;
    --le-text-muted: #bdb3c8;
    --le-text-soft: #ada2b9;
    --workspace-accent: var(--club-accent, var(--jazz-accent, color-mix(in srgb, var(--le-team-primary, #6425a0) 42%, #fff)));
    --workspace-on-accent: #241234;
    --workspace-hover: color-mix(in srgb, var(--workspace-accent) 80%, #fff);
}
body.le-workspace.le-jazz-bantam-app { --workspace-accent: #6425a0; }
[data-bs-theme="dark"] body.le-workspace.le-jazz-bantam-app { --workspace-accent: #c69aef; }
/* Software administrators retain a neutral product identity. */
body.le-workspace.le-software-admin { --workspace-accent: #475569; --workspace-hover: #334155; }
[data-bs-theme="dark"] body.le-workspace.le-software-admin { --workspace-accent: #cbd5e1; --workspace-hover: #e2e8f0; }
body.le-workspace::before, body.le-workspace::after { display: none; }
body.le-workspace main h1 { text-transform: none; letter-spacing: -.035em; overflow-wrap: break-word; }
body.le-workspace main :is(h2, h3, .le-stat-label) { text-transform: none; }
body.le-workspace :is(.card, .le-stat, .le-feature, .le-page-header, .team-brand-hero, .le-table-surface, .le-action-center) {
    background: var(--le-surface);
    border-color: var(--le-border);
    border-radius: 14px;
    box-shadow: none;
}
body.le-workspace :is(.card, a.le-stat, .le-feature):hover { box-shadow: none; transform: none; }
body.le-workspace .team-brand-hero::after { display: none; }
body.le-workspace :is(.card-header, .card-footer) { background: var(--le-surface); border-color: var(--le-border); }
body.le-workspace .card-header :is(h2, h3) { font-size: 1rem; font-weight: 650; letter-spacing: -.015em; }
body.le-workspace .le-stat-label { letter-spacing: 0; font-size: .8rem; }
body.le-workspace .le-stat-value { font-weight: 650; font-variant-numeric: tabular-nums; }
body.le-workspace :is(.le-stat-icon, .le-feature-icon) { color: var(--workspace-accent); background: var(--workspace-soft); }
body.le-workspace .le-eyebrow { color: var(--workspace-accent); }
[data-bs-theme] body.le-workspace:not(.le-software-admin) .le-sidebar-panel { background: var(--le-surface); border-color: var(--le-border); box-shadow: none; }
[data-bs-theme] body.le-workspace:not(.le-software-admin) .le-sidebar-link.active { color: var(--workspace-accent); background: var(--workspace-soft); box-shadow: none; }
[data-bs-theme] body.le-workspace:not(.le-software-admin) .le-sidebar-link.active .le-sidebar-icon { color: var(--workspace-accent); }
[data-bs-theme] body.le-workspace:not(.le-software-admin) .le-sidebar-group-row:has(> .le-sidebar-link.active) { background: var(--workspace-soft); }
[data-bs-theme] body.le-workspace:not(.le-software-admin) .le-sidebar-group-row > .le-sidebar-link.active { background: transparent; }
/* The pale open-group seat replaced the solid brand pill, but the pill's white
   label, icon, and chevron still won. On that light row they need dark ink.
   The docked family sidebar keeps its own accent color. */
[data-bs-theme="light"] body.le-workspace:not(.le-has-family-sidebar, .le-club-shell, .le-jazz-bantam-shell) .le-sidebar-group-row:has(> .le-sidebar-link.active) > .le-sidebar-link.active,
[data-bs-theme="light"] body.le-workspace:not(.le-has-family-sidebar, .le-club-shell, .le-jazz-bantam-shell) .le-sidebar-group-row:has(> .le-sidebar-link.active) > .le-sidebar-link.active .le-sidebar-icon,
[data-bs-theme="light"] body.le-workspace:not(.le-has-family-sidebar, .le-club-shell, .le-jazz-bantam-shell) .le-sidebar-group-row:has(> .le-sidebar-link.active) > .le-sidebar-caret {
    color: var(--le-sidebar-text);
}
body.le-workspace .le-sidebar-link:hover { transform: none; }
body.le-workspace .btn { box-shadow: none; }
body.le-workspace .btn-link { --bs-btn-color: var(--workspace-accent); --bs-btn-hover-color: var(--workspace-hover); }
body.le-workspace .btn-primary {
    --bs-btn-color: var(--workspace-on-accent);
    --bs-btn-bg: var(--workspace-accent);
    --bs-btn-border-color: var(--workspace-accent);
    --bs-btn-hover-color: var(--workspace-on-accent);
    --bs-btn-hover-bg: var(--workspace-hover);
    --bs-btn-hover-border-color: var(--workspace-hover);
    --bs-btn-active-color: var(--workspace-on-accent);
    --bs-btn-active-bg: var(--workspace-hover);
    --bs-btn-active-border-color: var(--workspace-hover);
    --bs-btn-disabled-color: var(--workspace-on-accent);
    --bs-btn-disabled-bg: var(--workspace-accent);
    --bs-btn-disabled-border-color: var(--workspace-accent);
    color: var(--workspace-on-accent);
    background-image: none;
}
body.le-workspace .btn-primary:hover { background-image: none; box-shadow: none; }
body.le-workspace .btn-outline-primary {
    --bs-btn-color: var(--workspace-accent);
    --bs-btn-border-color: var(--workspace-accent);
    --bs-btn-hover-color: var(--workspace-on-accent);
    --bs-btn-hover-bg: var(--workspace-accent);
    --bs-btn-hover-border-color: var(--workspace-accent);
    --bs-btn-active-color: var(--workspace-on-accent);
    --bs-btn-active-bg: var(--workspace-hover);
    --bs-btn-active-border-color: var(--workspace-hover);
    background-image: none;
}
body.le-workspace :is(.form-control, .form-select, .input-group-text) { border-color: var(--le-border); }
body.le-workspace :is(.form-control, .form-select):focus {
    border-color: var(--workspace-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--workspace-accent) 18%, transparent);
}
/* Keep validation more prominent than the normal focus treatment. */
body.le-workspace :is(.input-validation-error, .le-native-invalid, .is-invalid):focus {
    border-color: var(--le-danger);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--le-danger) 20%, transparent);
}
body.le-workspace .form-check-input:checked { background-color: var(--workspace-accent); border-color: var(--workspace-accent); }
body.le-workspace .table {
    --bs-table-border-color: var(--le-border);
    --bs-table-striped-bg: color-mix(in srgb, var(--le-text) 5%, transparent);
    --bs-table-hover-bg: color-mix(in srgb, var(--workspace-accent) 7%, transparent);
}
body.le-workspace .table thead th { background: var(--le-surface-2); text-transform: none; letter-spacing: 0; font-size: .8rem; }
body.le-workspace .nav-tabs .nav-link.active { color: var(--workspace-accent); border-bottom-color: var(--workspace-accent); }
body.le-workspace .nav-pills .nav-link.active { color: var(--workspace-accent); background: var(--workspace-soft); background-image: none; box-shadow: none; }
body.le-workspace .pagination { --bs-pagination-active-bg: var(--workspace-accent); --bs-pagination-active-border-color: var(--workspace-accent); --bs-pagination-active-color: var(--workspace-on-accent); --bs-pagination-color: var(--workspace-accent); }
body.le-workspace :is(.modal-content, .offcanvas, .dropdown-menu, .list-group-item, .accordion-item) { background-color: var(--le-surface); color: var(--le-text); border-color: var(--le-border); }
body.le-workspace .accordion-button:not(.collapsed) { color: var(--workspace-accent); background: var(--workspace-soft); }
body.le-workspace :is(a, button, summary):focus-visible { outline: 2px solid var(--workspace-accent); outline-offset: 3px; }
@media (max-width: 575.98px) {
    body.le-workspace .le-page-header { padding: 1rem; }
    body.le-workspace .le-page-header__main { flex-wrap: wrap; gap: 1rem; }
    body.le-workspace .le-page-header__actions { width: 100%; }
    body.le-workspace .nav-tabs { flex-wrap: wrap; }
    body.le-workspace :is(.nav-tabs, .nav-pills) .nav-link { min-height: 44px; display: inline-flex; align-items: center; }
}
