/* One neutral canvas and a fluid workspace for every authenticated page.
   Buttons, statuses, charts, artwork, overlays and dialog widths retain their meaning. */
html[data-bs-theme] body.sf-app {
    background: var(--sf-canvas) !important;
    color: var(--sf-text);
}
html[data-bs-theme] body.sf-app :is(.top-header,.top-header > .navbar,.sidebar-wrapper,.sidebar-header,.sidebar-nav,.sidebar-bottom) {
    background: var(--sf-canvas) !important;
    border-color: var(--sf-border) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper,
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content {
    background: var(--sf-canvas) !important;
    background-image: none !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content {
    --sf-surface: var(--sf-canvas);
    --sf-surface-soft: var(--sf-canvas);
    --bs-body-bg: var(--sf-canvas);
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
    margin-inline: 0;
    padding: 28px clamp(16px,2vw,36px) 40px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(.container,.container-fluid) {
    width: 100%;
    max-width: none !important;
}
/* Explicit surface roles: avoid substring rules that paint labels and status badges. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(
    .card,.dashboard-panel,.dashboard-kpi-card,.dashboard-announcements,.dashboard-welcome,
    .admin-panel,.admin-data-panel,.admin-metric-card,.admin-studio-hero,
    .release-stat-panel,.release-stat-kpis > article,.release-insight-panel,.release-stat-hero-content,
    .user-table-shell,.user-summary-card,.broadcast-table-shell,.broadcast-summary-card,
    .profile-info-card,.profile-legacy-details,.profile-contract-row,.profile-contract-empty,
    .automation-panel,.automation-summary > article,.roles-summary > article,.admin-summary-grid > article,
    .announcement-editor-card,.announcement-live-preview,.announcement-preview-card,
    .release-overview-panel,.release-track-panel,.release-history-panel,.release-step-nav,
    .release-cover-section,.release-cover-guidelines,.release-info-section,.release-date-section,
    .track-card,.release-timeline-content,
    .transaction-filter-card,.transaction-summary-panel,.transaction-table-shell,.transaction-summary-card,
    .reporting-filter-card,.reporting-table-shell,.reporting-data-table-shell,.reporting-summary-card,.reporting-revenue-card,
    .finance-stat,.finance-money,.finance-stage,.finance-explainer,.finance-table-heading,
    .aa-panel,.aa-tabs,.analytics-card,.analytics-summary-card,.analytics-data-note,
    .earn-card,.earn-summary-grid > article,.earn-balance,.tx-card,.tx-summary,.sd-card,.sd-hero,
    .sf-welcome,.branding-preview,.tab-content,.tab-pane,.table-responsive,.dataTables_wrapper,
    .dataTables_scroll,.dataTables_scrollHead,.dataTables_scrollBody,.accordion-item
) {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: var(--sf-text) !important;
}
/* Nested card headers and bodies should not introduce another rectangular surface. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(
    .card-header,.card-body,.card-footer,.user-table-titlebar,.broadcast-table-titlebar,
    .admin-panel-header,.dashboard-panel-heading,.accordion-body,
    .transaction-table-toolbar,.reporting-tabs,.release-status-tabs,.nav-tabs,
    .profile-legacy-details .row,.release-artists-table,.customer-release-detail .release-artists-table
) {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--sf-text) !important;
    border-color: var(--sf-border) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(
    .card-title,.form-label,h1,h2,h3,h4,h5,h6,
    .user-summary-grid,.reporting-summary-grid,.broadcast-summary-grid,.admin-summary-grid,
    .finance-status-grid,.finance-money-grid,.analytics-summary-grid,.automation-summary,.roles-summary
) {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(h1,h2,h3,h4,h5,h6):not([class*="text-"]) {
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(
    .admin-studio-hero,.dashboard-welcome,.earn-balance,.sd-hero,.release-stat-hero-content
) :is(strong,p,small) { color: var(--sf-text) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(
    .card-header,.card-footer,.admin-panel-header,.user-table-titlebar,.broadcast-table-titlebar
) { border-bottom: 1px solid var(--sf-border); }
/* Preserve readable table structure without a white/dark outer frame. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(table,.table) {
    --bs-table-bg: transparent !important;
    --bs-table-striped-bg: transparent !important;
    --bs-table-hover-bg: var(--sf-focus) !important;
    --bs-table-color: var(--sf-text) !important;
    --bs-table-border-color: var(--sf-border) !important;
    background: transparent !important;
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(table thead,table th,table td) {
    background-color: transparent !important;
    color: var(--sf-text) !important;
    border-color: var(--sf-border) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .table > :not(caption) > * > * {
    box-shadow: none !important;
}
/* Inherited palette also covers custom action forms using IDs. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content #bulk-user-form {
    background: transparent !important;
}
@media(max-width:700px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content {
        padding: 22px 16px 32px;
    }
}
/* Chart libraries may leave an inline dark background after switching themes. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .apexcharts-svg {
    background: transparent !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content :is(.admin-release-editor,.release-creation-page,.customer-release-detail) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}
/* A single legacy form column should not constrain the entire page. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content > .row > :is(.col-lg-8,.col-lg-10,.col-xl-8,.col-xl-10):only-child {
    flex: 0 0 100%;
    max-width: 100%;
}
/* Analytics cards need their own surface while the surrounding workspace stays fluid. */
html[data-bs-theme="light"] .admin-analytics {
    --aa-surface: #fff;
    --sf-surface-soft: #f4f7fb;
}
html[data-bs-theme="dark"] .admin-analytics {
    --aa-surface: #111e31;
    --sf-surface-soft: #17263c;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .admin-analytics :is(.aa-panel,.aa-tabs) {
    background: var(--aa-surface) !important;
    border: 1px solid var(--sf-border) !important;
    box-shadow: 0 4px 18px rgba(15,23,42,.04) !important;
}
/* Shared admin/customer release detail: one surface per section, no nested strips. */
html[data-bs-theme="light"] .release-detail { --release-surface: #fff; }
html[data-bs-theme="dark"] .release-detail { --release-surface: #111e31; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail {
    display: grid;
    gap: 24px;
    width: 100%;
    margin: 0 !important;
    padding: 0;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail :is(.release-overview-panel,.release-track-panel,.release-history-panel,.release-drive-panel) {
    background: var(--release-surface) !important;
    border: 1px solid var(--sf-border) !important;
    border-radius: 16px;
    margin: 0;
    box-shadow: none !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel {
    padding: 24px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel::before,
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel::after {
    display: none;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel > .row {
    display: grid;
    grid-template-columns: minmax(200px,300px) minmax(0,1fr);
    gap: 28px;
    margin: 0;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail :is(.release-cover-column,.release-metadata-column) {
    width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail :is(.album-title-status,.album-title-status h2,.album-artist,.album-status,.release-artists-table) {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .album-title-status h2 {
    font-size: clamp(1.6rem,2.5vw,2.4rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-metadata-column {
    text-align: left;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .album-artist {
    margin-top: 8px;
    color: var(--sf-muted) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .album-cover {
    width: 100%;
    max-width: 300px;
    aspect-ratio: 1;
    height: auto;
    border: 1px solid var(--sf-border);
    box-shadow: none;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-cover-download {
    max-width: 300px;
    margin: 14px 0 0 !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-metadata-grid {
    margin-top: 16px;
    border-top: 1px solid var(--sf-border);
    padding-top: 12px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-items-table {
    padding: 0;
    margin: 0;
    table-layout: fixed;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-items-table td {
    padding: 10px 8px;
    vertical-align: top;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-items-table td:first-child {
    width: 46%;
    color: var(--sf-muted) !important;
    font-weight: 500;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail :is(.accordion,.accordion-item,.accordion-header,.accordion-button,.accordion-body,.accordion-collapse,.track-detail) {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sf-text) !important;
    border-color: var(--sf-border) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .accordion-button:not(.collapsed) {
    background: var(--sf-focus) !important;
}
@media(max-width:1100px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel > .row {
        grid-template-columns: minmax(160px,220px) minmax(0,1fr);
        gap: 20px;
    }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-metadata-grid > .col-lg-6 { width: 100%; }
}
@media(max-width:700px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel { padding: 18px; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .release-detail .release-overview-panel > .row { grid-template-columns: minmax(0,1fr); }
}
/* Compact add-credit actions, shared by the single form and album track dialog. */
html[data-bs-theme] body.sf-app button.btn.release-inline-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: fit-content !important;
    max-width: 100%;
    min-height: 36px !important;
    padding: 7px 11px !important;
    margin-top: 0 !important;
    border: 1px solid var(--sf-border) !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: var(--sf-text) !important;
    box-shadow: none !important;
    font-size: .8rem;
    line-height: 1.4;
    text-align: left;
    vertical-align: top;
}
html[data-bs-theme] body.sf-app button.btn.release-inline-action > i {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 18px !important;
}
html[data-bs-theme] body.sf-app button.btn.release-inline-action > span {
    display: inline !important;
    padding: 0 !important;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;
    white-space: normal;
}
html[data-bs-theme] body.sf-app button.btn.release-inline-action:hover {
    border-color: var(--sf-accent) !important;
    background: var(--sf-surface-soft) !important;
}
html[data-bs-theme] body.sf-app button.btn.release-inline-action:focus-visible {
    outline: 2px solid var(--sf-accent);
    outline-offset: 2px;
}
/* Let impersonation notices occupy their actual height instead of covering page headings. */
html[data-bs-theme] body.sf-app main.main-wrapper > .impersonation-banner {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 48px;
    padding: 12px clamp(16px,2vw,36px);
    gap: 16px;
    z-index: auto;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .impersonation-banner .impersonation-banner__message {
    min-width: 0;
    overflow-wrap: anywhere;
}
@media(max-width:700px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .impersonation-banner {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 10px;
    }
    html[data-bs-theme] body.sf-app main.main-wrapper > .impersonation-banner .impersonation-banner__message span:last-child { max-width: none; }
}
/* Profile documents and contracts retain visible surfaces inside the customer workspace. */
html[data-bs-theme="light"] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace {
    --sf-surface: #fff;
    --sf-surface-soft: #f8fafc;
    --profile-border: #dce4ef;
    --profile-blue: 37,99,235;
    --profile-purple: 124,58,237;
    --profile-green: 5,150,105;
}
html[data-bs-theme="dark"] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace {
    --sf-surface: #141e2d;
    --sf-surface-soft: #1d293a;
    --profile-border: #33465e;
    --profile-blue: 96,165,250;
    --profile-purple: 192,132,252;
    --profile-green: 52,211,153;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace :is(.profile-hero-card,.profile-info-card,.profile-legacy-details) {
    background: var(--sf-surface) !important;
    border: 1px solid var(--profile-border) !important;
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(15,23,42,.04) !important;
    color: var(--sf-text) !important;
    min-width: 0;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-hero-card {
    background: linear-gradient(115deg,rgba(var(--profile-blue),.1),var(--sf-surface) 75%) !important;
    margin-bottom: 24px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-legacy-details > summary {
    padding: 18px 22px;
    background: var(--sf-surface-soft) !important;
    border-radius: 16px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-legacy-details[open] > summary {
    border-radius: 16px 16px 0 0;
    border-bottom: 1px solid var(--profile-border);
    margin-bottom: 20px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace :is(.profile-contract-row,.profile-contract-empty) {
    background: var(--sf-surface-soft) !important;
    border: 1px solid var(--profile-border) !important;
    border-left: 3px solid rgb(var(--profile-blue)) !important;
    border-radius: 10px;
    box-shadow: none !important;
    color: var(--sf-text) !important;
    padding: 14px 16px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-contract-row:nth-child(2n) {
    border-left-color: rgb(var(--profile-purple)) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace :is(.profile-contract-row,.profile-contract-empty) strong {
    color: var(--sf-text) !important;
    overflow-wrap: anywhere;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace :is(.profile-contract-row,.profile-contract-empty) small {
    color: var(--sf-muted) !important;
    overflow-wrap: anywhere;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace :is(.profile-contract-row > span:first-child,.profile-card-icon.contact) {
    background: rgba(var(--profile-blue),.12) !important;
    color: rgb(var(--profile-blue)) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-card-icon.address {
    background: rgba(var(--profile-purple),.12) !important;
    color: rgb(var(--profile-purple)) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-card-icon.bank {
    background: rgba(var(--profile-green),.12) !important;
    color: rgb(var(--profile-green)) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace .profile-contract-row:hover {
    border-color: rgb(var(--profile-blue)) !important;
    background: rgba(var(--profile-blue),.07) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .main-content.workspace-content.profile-workspace :is(.profile-contract-row,.profile-legacy-details > summary):focus-visible {
    outline: 2px solid rgb(var(--profile-blue));
    outline-offset: 2px;
}
/* Customer earnings: explicit surfaces remain visible above the shared canvas. */
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace {
    --earn-surface: #fff;
    --earn-soft: #f8fafc;
    --earn-border: #dce5ef;
    --earn-green: 5,150,105;
    --earn-orange: 234,88,12;
    --earn-purple: 124,58,237;
    --earn-blue: 37,99,235;
}
html[data-bs-theme="dark"] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace {
    --earn-surface: #142033;
    --earn-soft: #1b2a40;
    --earn-border: #324259;
    --earn-green: 52,211,153;
    --earn-orange: 251,146,60;
    --earn-purple: 167,139,250;
    --earn-blue: 96,165,250;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-page-header,.earn-page,.earn-panel,.earn-summary-grid,.earn-main-grid,.earn-bottom-grid,.report-detail-grid) {
    min-width: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-card,.earn-balance,.earn-summary-grid > article,.report-insight,.report-summary) {
    min-width: 0;
    background: var(--earn-surface) !important;
    border: 1px solid var(--earn-border) !important;
    border-radius: 16px;
    box-shadow: 0 5px 20px rgba(15,23,42,.045) !important;
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace section.earn-balance {
    background: linear-gradient(110deg,rgba(var(--earn-purple),.13),rgba(var(--earn-blue),.05)),var(--earn-surface) !important;
    border-color: rgba(var(--earn-purple),.24) !important;
    padding: 26px;
    gap: 24px;
    margin-block: 22px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-summary-grid > article {
    --earn-tone: var(--earn-green);
    background: linear-gradient(120deg,rgba(var(--earn-tone),.11),rgba(var(--earn-tone),.03)),var(--earn-surface) !important;
    border-top: 3px solid rgb(var(--earn-tone)) !important;
    padding: 22px;
    align-items: flex-start;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-summary-grid > article:nth-child(2) { --earn-tone: var(--earn-orange); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-summary-grid > article:nth-child(3) { --earn-tone: var(--earn-purple); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-summary-grid > article > .material-icons-outlined {
    background: rgba(var(--earn-tone),.14) !important;
    color: rgb(var(--earn-tone)) !important;
    border-radius: 12px;
    width: 44px;
    height: 44px;
    flex-basis: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(strong,b,.earn-tab,.earn-period,.earn-download,.report-export,select,input) { color: var(--sf-text) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(p,small,.earn-balance-date span,.report-summary span,.earn-empty,.earn-platform em,.earn-legend,.report-loading,.report-filter-grid label > span) { color: var(--sf-muted) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-page-header p,.earn-card header p) { color: var(--sf-muted) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-summary-grid strong { white-space: normal; overflow-wrap: anywhere; font-size: clamp(22px,1.7vw,28px); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace small.up { color: rgb(var(--earn-green)) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace small.down { color: #e54868 !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-card,.report-filters) { padding: 22px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-main-grid,.earn-summary-grid) { margin-bottom: 22px; gap: 22px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-bottom-grid,.report-detail-grid) { gap: 22px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-tabs,.earn-period,.earn-download,.report-filter-grid select,.report-search input,.report-export,.report-pagination button) {
    background: var(--earn-surface) !important;
    border-color: var(--earn-border) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-tab.is-active,.earn-balance > a,.report-apply) {
    background: var(--sf-primary,#420cc0) !important;
    color: #fff !important;
    border-color: var(--sf-primary,#420cc0) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-balance-date,.earn-payment-row,.report-summary > div,.report-platform-row,.earn-tab) { border-color: var(--earn-border) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-period,.earn-download,.earn-balance > a) { height: auto; min-height: 40px; padding: 10px 14px; font-size: 13px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-header-actions { flex-wrap: wrap; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(section.report-insight,section.report-summary) {
    background: linear-gradient(105deg,rgba(var(--earn-blue),.09),transparent),var(--earn-surface) !important;
    border-color: rgba(var(--earn-blue),.24) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-payment-row > span,.report-summary-icon) { flex-shrink: 0; color: rgb(var(--earn-blue)) !important; background: rgba(var(--earn-blue),.12) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-empty,.report-loading) { background: var(--earn-soft) !important; border-radius: 10px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-platform > div span,.platform-meter) { background: var(--earn-soft) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(table th,table thead) { background: var(--earn-soft) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace table td { border-color: var(--earn-border) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(button,a,input,select):focus-visible { outline: 3px solid rgba(var(--earn-purple),.45); outline-offset: 3px; }
@media (max-width: 1100px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-main-grid,.earn-bottom-grid,.report-detail-grid) { grid-template-columns: minmax(0,1fr); }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-balance { grid-template-columns: minmax(0,1fr) auto; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-balance > a { grid-column: 1 / -1; justify-self: start; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .report-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-page-header { align-items: flex-start; flex-direction: column; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-summary-grid,.earn-balance,.report-summary,.report-filter-grid) { grid-template-columns: minmax(0,1fr); }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace :is(.earn-card,.earn-balance,.earn-summary-grid > article) { padding: 18px; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-balance-date { border-left: 0; padding-left: 0; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .report-summary > div { border-left: 0; padding-left: 0; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-card header { flex-wrap: wrap; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .report-search { width: 100%; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-platform { grid-template-columns: minmax(0,1fr) auto; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-platform > div { grid-column: 1 / -1; grid-row: 2; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .earn-platform em { display: none; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.earnings-workspace .report-filter-actions { flex-wrap: wrap; }
}
/* Usage counts have separate labels and columns, without changing royalty totals. */
html[data-bs-theme="light"] .report-usage-panel { --usage-surface: #fff; }
html[data-bs-theme="dark"] .report-usage-panel { --usage-surface: #141e2d; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content .report-usage-panel {
    background: var(--usage-surface);
    min-width: 0;
    border: 1px solid var(--sf-border);
    border-radius: 14px;
    padding: 20px;
    color: var(--sf-text);
}
.report-usage-panel h2 { font-size: 1.1rem; margin: 0 0 8px; }
.report-usage-panel > p { color: var(--sf-muted); font-size: .85rem; }
.report-usage-totals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.report-usage-totals dt { color: var(--sf-muted); font-size: .85rem; overflow-wrap: anywhere; }
.report-usage-totals dd { color: var(--sf-text); font-size: 1.4rem; font-weight: 700; overflow-wrap: anywhere; }
.report-usage-panel table { min-width: 460px; }
.report-subtypes-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.report-subtypes-heading .btn { min-height: 44px; display: inline-flex; align-items: center; }
.report-subtypes-panel table { min-width: 760px; }
.report-subtypes-panel td { overflow-wrap: anywhere; }
@media(max-width:600px) { .report-usage-totals { grid-template-columns: 1fr; gap: 8px; } }

/* Transaction summaries, progress and history need a surface in both themes. */
html[data-bs-theme="light"] .workspace-content.customer-transactions {
    --tx-surface: #fff;
    --tx-soft: #f8fafc;
    --tx-success-bg: #dcfce7;
    --tx-success-text: #166534;
    --tx-pending-bg: #fef3c7;
    --tx-pending-text: #92400e;
    --tx-carry-bg: #dbeafe;
    --tx-carry-text: #1e40af;
}
html[data-bs-theme="dark"] .workspace-content.customer-transactions {
    --tx-surface: #141e2d;
    --tx-soft: #1d293a;
    --tx-success-bg: #123f36;
    --tx-success-text: #6ee7b7;
    --tx-pending-bg: #594116;
    --tx-pending-text: #fde68a;
    --tx-carry-bg: #203c63;
    --tx-carry-text: #bfdbfe;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions {
    --sf-surface: var(--tx-surface);
    --sf-surface-soft: var(--tx-soft);
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-summary,.tx-card,.tx-note,.sd-card,.sd-hero) {
    background: var(--tx-surface) !important;
    border: 1px solid var(--sf-border) !important;
    color: var(--sf-text) !important;
    box-shadow: 0 4px 16px rgb(15 23 42 / 4%) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-page,.tx-summary strong,.tx-steps strong,.sd-page,.sd-bank dd,.sd-breakdown dd) { color: var(--sf-text) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-header p,.tx-summary p,.tx-summary small,.tx-card header p,.tx-empty,.tx-note,.sd-hero p,.sd-total small,.sd-card header p,.sd-muted,.sd-bank dt,.sd-breakdown dt,.sd-download small) { color: var(--sf-muted) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-summary article,.sd-total,.sd-bank > div,.sd-breakdown > div) { border-color: var(--sf-border) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-summary > article > span,.tx-note > span,.sd-hero > div:first-child > span) {
    background: var(--sf-accent-soft) !important;
    color: var(--sf-accent) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-steps::before { background: var(--sf-border); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-steps i { background: var(--tx-soft); color: var(--sf-muted); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-steps .done i,.tx-badge.transferred) { background: var(--tx-success-bg); color: var(--tx-success-text); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-steps .active i,.tx-badge.pending) { background: var(--tx-pending-bg); color: var(--tx-pending-text); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-badge.carried_over { background: var(--tx-carry-bg); color: var(--tx-carry-text); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .sd-status { background: var(--tx-pending-bg); color: var(--tx-pending-text); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .sd-status.transferred { background: var(--tx-success-bg); color: var(--tx-success-text); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-export,.tx-detail,.sd-head a,.sd-download) {
    background: var(--tx-surface) !important;
    color: var(--sf-accent) !important;
    border-color: var(--sf-border) !important;
    min-height: 44px;
    min-width: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.tx-export,.tx-detail,.sd-download):hover { background: var(--sf-accent-soft) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(.sd-total strong,.sd-breakdown .final dd,.sd-download > span:last-child) { color: var(--sf-accent) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions :is(a,input,select):focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 3px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-tools :is(input,select) { min-height: 44px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-tools label span { color: var(--sf-muted); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-note { margin-bottom: 16px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-note > span { background: transparent !important; align-self: flex-start; flex: 0 0 24px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .sd-grid > * { min-width: 0; }
@media(max-width:950px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .sd-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:600px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-tools { min-width: 0; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-tools :is(label,input,select) { max-width: 100%; min-width: 0; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .tx-steps::before { display: none; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-transactions .sd-bank > div { flex-wrap: wrap; gap: 8px; overflow-wrap: anywhere; }
}

/* Client analytics uses the same surfaces and action palette as the dashboard. */
html[data-bs-theme="light"] .workspace-content.customer-analytics {
    --analytics-surface: #fff;
    --analytics-soft: #f8fafc;
}
html[data-bs-theme="dark"] .workspace-content.customer-analytics {
    --analytics-surface: #141e2d;
    --analytics-soft: #1d293a;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics {
    --sf-surface: var(--analytics-surface);
    --sf-surface-soft: var(--analytics-soft);
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-card,.analytics-summary-card,.analytics-period-form,.analytics-data-note) {
    background: var(--analytics-surface) !important;
    border: 1px solid var(--sf-border) !important;
    color: var(--sf-text) !important;
    box-shadow: 0 4px 16px rgb(15 23 42 / 4%) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-summary-card {
    --analytics-accent: var(--sf-accent);
    border-top: 3px solid var(--sf-accent) !important;
    min-width: 0;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-summary-card:hover {
    transform: none;
    background: var(--analytics-surface) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-summary-icon {
    background: var(--sf-accent-soft) !important;
    color: var(--sf-accent) !important;
    border-color: transparent !important;
    flex: 0 0 48px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-summary-card:hover .analytics-summary-icon,.analytics-view-button:hover) { transform: none; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-page,.analytics-summary-card strong,.analytics-rank strong,.analytics-country strong,.analytics-rank em,.analytics-country em,.analytics-insight strong,.analytics-release-link,.analytics-release-link strong,.analytics-period-display) {
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-page-header p,.analytics-summary-card small,.analytics-summary-card em,.analytics-card header p,.analytics-rank > small,.analytics-insight p,.analytics-no-data,.analytics-pagination-summary) {
    color: var(--sf-muted) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-summary-card em.up { color: var(--sf-valid) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-summary-card em.down { color: var(--sf-invalid) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-data-note > span,.analytics-period-form > .material-icons-outlined,.analytics-insight small,.analytics-release-link > i) { color: var(--sf-accent) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-rank > b,.analytics-country > b,.analytics-rank > div > span,.analytics-country > div > span) {
    background: var(--analytics-soft) !important;
    color: var(--sf-muted) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-rank > div > span i,.analytics-country > div > span i,.analytics-legend .green) { background: var(--sf-accent) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-legend .red { background: var(--sf-valid) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-insight > span,.analytics-release-link > span) {
    background: var(--sf-accent-soft) !important;
    color: var(--sf-accent) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-insight { border-color: var(--sf-border) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-insight.featured { background: var(--analytics-soft) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-view-button,.analytics-pagination-links a,.analytics-pagination-links > span:not(.is-current)) {
    color: var(--sf-accent) !important;
    border-color: var(--sf-border) !important;
    background: var(--analytics-surface) !important;
    min-height: 44px;
    min-width: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(.analytics-view-button:hover,.analytics-view-button:focus-visible,.analytics-pagination-links .is-current) {
    background: var(--sf-primary-background) !important;
    border-color: var(--sf-primary-end) !important;
    color: var(--sf-on-primary) !important;
    min-height: 44px;
    min-width: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-view-button:is(:hover,:focus-visible) span { color: var(--sf-on-primary) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-pagination-links .is-disabled { color: var(--sf-muted) !important; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics :is(a,select):focus-visible { outline: 2px solid var(--sf-accent); outline-offset: 3px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-summary-card > div { min-width: 0; overflow-wrap: anywhere; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-data-note { flex-wrap: wrap; }
@media(max-width:700px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-period-form { width: 100%; height: auto; min-height: 48px; flex-wrap: wrap; padding: 10px; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-period-form select { min-width: 0; max-width: calc(100% - 36px); }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-analytics .analytics-card header { flex-wrap: wrap; }
}

/* Dashboard sections keep a distinct surface within the shared workspace. */
html[data-bs-theme] body.sf-app:has(.customer-dashboard) { background: var(--sf-canvas) !important; }
html[data-bs-theme="light"] .workspace-content.customer-dashboard {
    --dashboard-surface: #fff;
    --dashboard-soft: #f8fafc;
}
html[data-bs-theme="dark"] .workspace-content.customer-dashboard {
    --dashboard-surface: #141e2d;
    --dashboard-soft: #1d293a;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard {
    --sf-surface: var(--dashboard-surface);
    --sf-surface-soft: var(--dashboard-soft);
    --dashboard-chart-stream: var(--sf-accent);
    --dashboard-chart-revenue: var(--sf-valid);
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-panel,.dashboard-kpi-card,.dashboard-welcome,.dashboard-announcements,.sf-welcome) {
    background: var(--dashboard-surface) !important;
    border: 1px solid var(--sf-border) !important;
    box-shadow: 0 4px 16px rgb(15 23 42 / 4%) !important;
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .dashboard-welcome {
    border-inline-start: 4px solid var(--sf-accent) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-welcome,.sf-welcome,.dashboard-announcements) :is(p,strong,small,h2) {
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-welcome-icon,.dashboard-eyebrow,.dashboard-panel-link,.announcement-link,.sf-welcome__eyebrow) {
    color: var(--sf-accent) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-period,.dashboard-secondary-btn,.dashboard-create-btn) {
    background: var(--dashboard-surface) !important;
    color: var(--sf-accent) !important;
    border: 1px solid var(--sf-border) !important;
    min-height: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-kpi-card p,.dashboard-kpi-card small,.dashboard-panel-heading p,.dashboard-legend,.release-health-copy small,.dashboard-action small,.dashboard-empty,.release-more) {
    color: var(--sf-muted) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-kpi-card h3,.dashboard-panel h5,.dashboard-panel,.dashboard-song-table tbody strong,.release-health-copy strong,.dashboard-action) {
    color: var(--sf-text) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-kpi-icon,.dashboard-action > span:first-child) {
    color: var(--sf-accent) !important;
    background: var(--sf-accent-soft) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-action,.release-health-row) {
    border-color: var(--sf-border) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .dashboard-upload-btn {
    background: var(--sf-primary-background) !important;
    color: var(--sf-on-primary) !important;
    border: 1px solid var(--sf-primary-end) !important;
    min-height: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.dashboard-action:hover strong,.dashboard-secondary-btn:hover,.dashboard-create-btn:hover) {
    color: var(--sf-accent) !important;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(a,button):focus-visible {
    outline: 2px solid var(--sf-accent);
    outline-offset: 3px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .sf-welcome button {
    color: var(--sf-muted) !important;
    min-width: 44px;
    min-height: 44px;
}
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard :is(.announcement-link,.dashboard-panel-link) { min-height: 44px; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .legend-stream { background: var(--dashboard-chart-stream); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .legend-revenue { background: var(--dashboard-chart-revenue); }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .dashboard-kpi-card { min-width: 0; }
html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .dashboard-kpi-card > div:last-child { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:575px) {
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .dashboard-welcome h2 { overflow-wrap: anywhere; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .release-health-row { flex-wrap: wrap; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .release-state { display: inline-flex; align-items: center; }
    html[data-bs-theme] body.sf-app main.main-wrapper > .workspace-content.customer-dashboard .dashboard-header > div:last-child { flex-wrap: wrap; }
}

/* Shared release badges must remain readable in customer and admin tables. */
.sf-app .badge.release-status-review {
    background-color: #f47c3c !important;
    color: #24140a !important;
}
.sf-app .badge.release-status-revision {
    background-color: #6d28d9 !important;
    color: #fff !important;
}

.release-drive-panel { min-width: 0; overflow: hidden; padding: 0 !important; }
.release-drive-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 22px 26px; border-bottom: 1px solid var(--sf-border); }
.release-drive-heading h3 { margin: 0; font-size: 1.25rem; }
.release-drive-heading .btn { min-height: 44px; display: inline-flex; align-items: center; }
.release-drive-body { padding: 22px 26px; }
.release-drive-summary { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.release-drive-panel table { min-width: 850px; }
.release-drive-panel th, .release-drive-panel td { overflow-wrap: anywhere; }
.release-drive-panel td small { display: block; margin-top: 5px; color: var(--sf-muted); }
.release-drive-status { display: inline-block; padding: 5px 8px; border-radius: 5px; font-size: .8rem; font-weight: 650; background: #e2e8f0; color: #1e293b; }
.release-drive-status--success { background: #146c43; color: #fff; }
.release-drive-status--danger { background: #a61e32; color: #fff; }
@media(max-width:575px) { .release-drive-heading, .release-drive-body { padding: 18px; } }
