/* Chargebacks911 identity over the shared Express Resolve layouts. */
:root {
    --brand-primary: #c4262e;
    --brand-primary-hover: #a11e25;
    --brand-primary-soft: #fff1f2;
}
body.ui-auth-body.partner-default .auth-primary-btn { background: var(--brand-primary); }
body.ui-auth-body.partner-default .auth-primary-btn:hover { background: var(--brand-primary-hover); }
body.ui-auth-body.partner-default .auth-product-lockup img { width: 210px; }
body.ui-auth-body.partner-default .auth-remember input { accent-color: var(--brand-primary); }

/* White Chargebacks911 login panel with a transparent bull silhouette. */
body.ui-auth-body.partner-default .auth-hero-backdrop { display: none; }
body.ui-auth-body.partner-default .auth-hero-panel {
    background: #fff;
    color: #20252d;
    border-left: 1px solid #eaecf0;
}
body.ui-auth-body.partner-default .auth-hero-panel::before { display: none; }
body.ui-auth-body.partner-default .auth-hero-panel::after {
    content: '';
    position: absolute;
    z-index: -1;
    right: -30px;
    top: 70px;
    width: 350px;
    height: 350px;
    background: url('/images/chargebacks911-bull.svg') center / contain no-repeat;
    opacity: 1;
    pointer-events: none;
}
body.ui-auth-body.partner-default :is(.auth-hero-message h2, .auth-feature-item strong, .auth-testimonial-brand strong, .auth-brand-statement h3) { color: #20252d; }
body.ui-auth-body.partner-default :is(.auth-hero-message h2 span, .auth-hero-badge svg, .auth-quote-mark) { color: var(--brand-primary); }
body.ui-auth-body.partner-default .auth-hero-badge {
    border-color: #e5e7eb;
    background: #f3f4f6;
    color: #000;
}
body.ui-auth-body.partner-default .auth-hero-message::after { background: var(--brand-primary); }
body.ui-auth-body.partner-default :is(.auth-hero-message p, .auth-feature-item p, .auth-testimonial p, .auth-brand-statement p) { color: #525d6d; }
body.ui-auth-body.partner-default .auth-feature-icon {
    background: var(--brand-primary-soft);
    color: var(--brand-primary);
}
body.ui-auth-body.partner-default .auth-feature-item + .auth-feature-item::before { border-color: #eaecf0; }
body.ui-auth-body.partner-default .auth-testimonial {
    border-color: #eaecf0;
    background: #fafafa;
}
body.ui-auth-body.partner-default .auth-testimonial .auth-testimonial-brand { border-color: #e4e7ec; }
body.ui-auth-body.partner-default .auth-testimonial-avatar { background: var(--brand-primary); }
body.ui-auth-body.partner-default .auth-testimonial-brand small { color: #667085; }

/* White-to-grey navigation keeps the red Chargebacks911 identity prominent. */
body.ui-portal-body {
    --ui-color-canvas: #f9f9f9;
    --ui-color-surface-subtle: #f0f0f0;
    --ui-color-border: #dedede;
    --ui-color-border-subtle: #e8e8e8;
    --ui-color-border-strong: #c6c6c6;
    --ui-color-text: #303030;
    --ui-color-text-muted: #737373;
    background: var(--ui-color-canvas);
    --portal-sidebar-bg: #fff;
    --portal-sidebar-bg-strong: #fff;
    --portal-sidebar-ink: #171717;
    --portal-sidebar-muted: #737373;
    --portal-sidebar-line: var(--ui-color-border);
    --portal-ink: var(--ui-color-text);
    --portal-muted: var(--ui-color-text-muted);
    --portal-surface-soft: var(--ui-color-surface-subtle);
    --portal-border: var(--ui-color-border-subtle);
    --portal-line: var(--ui-color-border);
    --connector-ink: var(--portal-ink);
    --connector-muted: var(--portal-muted);
    --connector-line: var(--portal-border);
    --connector-soft: var(--portal-surface-soft);
    --connector-surface: var(--ui-color-surface);
    --connector-accent: var(--brand-primary);
    --connector-white: var(--ui-color-white);
    --connector-focus: color-mix(in srgb, var(--brand-primary) 18%, transparent);
    --connector-success-bg: color-mix(in srgb, var(--portal-success) 10%, white);
    --connector-warning-bg: color-mix(in srgb, var(--portal-warning) 12%, white);
    --connector-danger-bg: color-mix(in srgb, var(--portal-danger) 10%, white);
}
body.ui-portal-body .portal-header.is-scrolled {
    background: color-mix(in srgb, var(--ui-color-canvas) 94%, transparent);
}
body.ui-portal-body :is(.portal-sidebar-user-avatar, .portal-header-avatar) { background: var(--brand-primary); }
body.ui-portal-body .portal-sidebar-user-popup,
body.ui-portal-body .portal-sidebar-user-menu {
    background: var(--ui-color-surface);
    color: var(--portal-sidebar-ink);
    border: 1px solid var(--portal-sidebar-line);
}
body.ui-portal-body :is(.portal-sidebar-toggle, .portal-sidebar-close) {
    background: var(--ui-color-border-subtle);
    color: var(--portal-sidebar-ink);
}
body.ui-portal-body :is(.portal-sidebar-user-details strong, .portal-sidebar-user-popup strong,
    .portal-sidebar-user-menu__identity strong, .portal-sidebar-user-menu__link, .portal-sidebar-user-menu__logout) {
    color: var(--portal-sidebar-ink);
}
body.ui-portal-body :is(.portal-sidebar-user-details span, .portal-sidebar-user-popup span,
    .portal-sidebar-user-menu__identity span) { color: var(--portal-sidebar-muted); }
body.ui-portal-body .portal-sidebar-user-menu__identity { border-color: var(--portal-sidebar-line); }
body.ui-portal-body .portal-shell :is(.portal-nav-link, .portal-nav-subitem):is(:hover, :focus-visible, .is-active),
body.ui-portal-body :is(.portal-sidebar-user-menu__link, .portal-sidebar-user-menu__logout):hover {
    background: #f3f3f3;
    color: var(--portal-sidebar-ink);
}

body.ui-portal-body .portal-shell :is(.portal-nav-link, .portal-nav-subitem),
body.ui-portal-body .portal-sidebar-name { color: var(--portal-sidebar-ink); }
body.ui-portal-body .portal-sidebar-logo { border-radius: var(--ui-radius-sm); }
body.ui-portal-body .portal-sidebar { border-right-color: var(--ui-color-border-card); }

/* Report warning and secondary states stay neutral, including dialogs and floating notices. */
body.ui-portal-body:has(.dispute-report-body) {
    --ui-color-orange-50: #f3f3f3;
    --ui-color-orange-200: #dedede;
    --ui-color-orange-600: #737373;
    --ui-color-orange-700: #525252;
    --ui-color-orange-800: #404040;
    --ui-color-warning: #525252;
    --ui-color-warning-soft: #f3f3f3;
    --portal-warning: #737373;
    --report-analysis-other: #a3a3a3;
}
body.ui-portal-body .dispute-report-body :is(
    .dispute-report-resolve-step-icon.is-accept, .dispute-report-resolve-impact-icon.is-accept,
    .is-accept .dispute-report-resolve-choice-icon, .dispute-report-export-notice,
    .dispute-status--expired, .dispute-priority--medium, .portal-descriptor-popup__char--space
) {
    background: var(--ui-color-surface-subtle);
    color: var(--ui-color-text-muted);
    border-color: var(--ui-color-border);
}
body.ui-portal-body .dispute-report-body :is(
    .dispute-report-resolve-impact .is-loss h4,
    .dispute-report-resolve-impact .is-loss .is-total dd,
    .dispute-report-resolve-option.is-accept em,
    #disputeReportDetailStatus[data-tone='action']
) { color: var(--ui-color-text-muted); }
body.ui-portal-body:has(.dispute-report-body) :is(.portal-toast--warning, .portal-toast[data-tone='warning']) {
    --portal-toast-accent: var(--ui-color-text-muted);
    --portal-toast-border: var(--ui-color-border);
    --portal-toast-bg: var(--ui-color-surface-subtle);
    --portal-toast-text: var(--ui-color-text);
    --portal-toast-muted: var(--ui-color-text-muted);
}

body.ui-portal-body .portal-shell[data-sidebar-state='wide'] { --portal-sidebar-width: 248px; }
body.ui-portal-body .portal-sidebar-name {
    color: var(--portal-sidebar-ink);
    font-size: 14px;
    letter-spacing: -.025em;
    text-transform: none;
    white-space: nowrap;
}
body.ui-portal-body .portal-shell[data-sidebar-state='narrow'] .portal-nav-subitem:not(:hover):not(:focus-visible):not(.is-active) {
    color: var(--portal-sidebar-ink);
}

/* Collapsed submenus use a white surface, so retain dark text on hover. */
body.ui-portal-body .portal-shell[data-sidebar-state='narrow'] .portal-nav-subitem:is(:hover, :focus-visible, .is-active) {
    background: #f3f3f3;
    color: var(--portal-sidebar-ink);
}

body.ui-portal-body .portal-shell[data-sidebar-state='wide'] .portal-nav-subitem {
    padding-inline: 12px;
    border-radius: var(--ui-radius-md);
}

/* Reuse the login bull asset as a quiet watermark behind the sidebar footer. */
body.ui-portal-body .portal-sidebar {
    padding-top: 0;
}
body.ui-portal-body .portal-sidebar::before {
    content: '';
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 210px;
    background: #d6d8dc;
    mask: url('/images/chargebacks911-bull.svg') center top / 100% auto no-repeat;
    opacity: .28;
    pointer-events: none;
}
body.ui-portal-body .portal-sidebar-brand {
    width: calc(100% + 12px);
    margin-inline: -6px;
    margin-bottom: 4px;
    min-height: 64px;
    padding-block: 14px;
    border-radius: 0;
    background: #fff;
}
body.ui-portal-body .portal-shell[data-sidebar-state='wide'] .portal-sidebar-brand {
    grid-template-columns: var(--ui-space-10) minmax(0, 1fr);
    padding-inline: 18px;
    gap: 8px;
}
body.ui-portal-body .portal-sidebar-brand .portal-sidebar-name {
    color: var(--portal-ink);
}
body.ui-portal-body .portal-sidebar-brand .portal-sidebar-logo {
    filter: none;
}
body.ui-portal-body .portal-shell[data-sidebar-state='wide'] .portal-sidebar-close {
    display: none;
}
body.ui-portal-body .portal-sidebar-brand .portal-sidebar-toggle {
    background: transparent;
    color: var(--portal-ink);
}
body.ui-portal-body .portal-sidebar-collapse {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--portal-sidebar-muted);
    font: inherit;
    font-size: 12px;
    font-weight: 400;
    cursor: pointer;
}
body.ui-portal-body .portal-sidebar-collapse:hover,
body.ui-portal-body .portal-sidebar-collapse:focus-visible {
    background: #eaeaea;
    color: var(--portal-sidebar-ink);
}
body.ui-portal-body .portal-shell[data-sidebar-state='narrow'] .portal-sidebar-collapse {
    justify-content: center;
    padding-inline: 0;
}
body.ui-portal-body .portal-shell[data-sidebar-state='narrow'] .portal-sidebar-collapse span {
    display: none;
}
body.ui-portal-body .portal-shell[data-sidebar-state='narrow'] .portal-sidebar-collapse svg {
    transform: rotate(180deg);
}
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator) .tabulator-header,
body.ui-portal-body .portal-table thead {
    background: #f2f2f2;
    border-color: var(--ui-color-border);
}
body.ui-portal-body .dispute-report-table-workspace :is(
    .portal-table-workspace__tabs, .dispute-report-querybar,
    .dispute-report-table-toolbar
) {
    background: var(--ui-color-white);
    border-color: var(--ui-color-border);
}
body.ui-portal-body #disputeReportTableHost.tabulator .tabulator-header,
body.ui-portal-body #disputeReportTableHost.tabulator .tabulator-header .tabulator-col:first-child,
body.ui-portal-body #disputeReportTableHost.tabulator .tabulator-row .dispute-report-selection-cell {
    background: var(--ui-color-surface-subtle) !important;
}
body.ui-portal-body .dispute-report-table-workspace .admin-platform-shortcuts__topline {
    border-bottom-color: var(--ui-color-border);
}
body.ui-portal-body .dispute-report-body [data-service-activation] > .service-activation__overview {
    background: var(--ui-color-white);
    border-color: var(--report-border);
    box-shadow: var(--ui-shadow-card);
}
body.ui-portal-body .dispute-report-body [data-service-activation] .service-activation__icon {
    background: var(--ui-color-surface-subtle);
    color: var(--ui-color-text);
}
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator) .tabulator-header .tabulator-col,
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator) .tabulator-header .tabulator-col-content {
    background: transparent;
}

/* Neutral CB911 surfaces, including drawers moved into the shared overlay root. */
body.ui-portal-body .portal-sidebar { background: #fff; }
body.ui-portal-body .portal-nav-link svg { stroke-width: 1.5; }
body.ui-portal-body .connector-admin__workspace {
    box-shadow: 0 2px 8px rgb(0 0 0 / 5%);
}
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator) .tabulator-footer {
    background: var(--ui-color-white);
    border-color: var(--portal-border);
    color: var(--portal-muted);
}
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator) .tabulator-page {
    border-color: var(--portal-border);
    color: var(--portal-ink);
}
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator) .tabulator-page.active {
    background: #e9e9e9;
    border-color: #d5d5d5;
}
body.ui-portal-body :is(.portal-header h1, .portal-header-user-copy strong,
    .portal-tabulator-cell-stack strong, .portal-tabulator-cell-stack a,
    .connector-admin__table-action, .connector-admin__command h2,
    .connector-admin__child-table .tabulator-col-title,
    .connector-admin__next-step-copy > span, .connector-admin__setup-help > summary,
    .connector-admin__billing-summary-eyebrow, .connector-admin__billing-eyebrow,
    .connector-admin__billing-policy-title code, .connector-admin__billing-price-references code,
    .connector-admin__policy-form-section > header > span, .connector-admin__policy-capabilities code,
    .connector-admin__connection-verification strong, .connector-admin__policy-detail-grid strong,
    .connector-admin__connection-approval strong, .connector-admin-form__connection-action) {
    color: var(--portal-ink);
}
body.ui-portal-body :is(.portal-header-subtitle, .portal-header-user-copy span,
    .portal-tabulator-cell-stack small, .connector-admin__policy-overview span,
    .connector-admin__policy-detail header span, .connector-admin__connection-verification small,
    .connector-admin__connection-approval small, .connector-admin__policy-detail-grid span) {
    color: var(--portal-muted);
}
body.ui-portal-body :is(.connector-admin__table-heading, .connector-admin__next-step:not(.is-ready),
    .connector-admin__billing-summary, .connector-admin__billing-approval-note,
    .connector-admin__billing-pricing:not(.is-missing), .connector-admin__billing-policy-facts,
    .connector-admin__ops-hero, .connector-admin-form__provider-pricing,
    .connector-admin-form__advanced[open] summary, .connector-admin__policy-overview,
    .connector-admin__drawer-list-tools, .connector-admin__policy-detail > header,
    .connector-admin__policy-form-section > header, .connector-admin__policy-catalog,
    .connector-admin__policy-publish-summary, .connector-admin__connection-verification,
    .connector-admin__policy-detail-grid > div, .connector-admin__catalog > header,
    .connector-admin__loading, .connector-admin__billing-loading,
    .connector-admin__catalog-state:not(.is-error), .connector-admin__catalog-form,
    .connector-admin__catalog-confirm, .connector-admin__catalog-notice,
    .connector-admin__catalog-readonly, .connector-admin__publish-impact,
    .connector-admin__issued, .connector-admin__issued code) {
    background: var(--portal-surface-soft);
    border-color: var(--portal-border);
}
body.ui-portal-body :is(.connector-admin__policy-row-main, .connector-admin__store-row,
    .connector-admin__catalog-list li > button):is(:hover, :focus-visible) {
    background: var(--portal-surface-soft);
}

body.ui-portal-body :is(.portal-tabulator-footer-meta, .portal-tabulator-host .tabulator-col-title) {
    color: var(--portal-muted);
}
body.ui-portal-body :is(.portal-tabulator-toolbar-btn, .portal-table-quick-filter select) {
    color: var(--portal-ink);
}

body.ui-portal-body .connector-admin__child-table :is(.connector-admin__app-name strong,
    .connector-admin__installation-metrics strong, .connector-admin__stores-link strong) {
    color: var(--portal-ink);
}
body.ui-portal-body .connector-admin__child-table :is(.connector-admin__app-name small,
    .connector-admin__installation-metrics small, .connector-admin__mobile-stores) {
    color: var(--portal-muted);
}

/* Keep row highlights neutral, including selected rows and pinned action cells. */
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator)
    .tabulator-row:is(:hover, :focus-within, .tabulator-selected),
body.ui-portal-body :is(.portal-tabulator-host.tabulator, .portal-tabulator-host .tabulator)
    .tabulator-row:is(:hover, :focus-within, .tabulator-selected) :is(.tabulator-cell, .tabulator-frozen),
body.ui-portal-body .portal-table tbody tr:is(:hover, :focus-within) {
    background: #f2f2f2 !important;
}

/* Secondary controls share neutral highlights; primary actions keep the brand red. */
body.ui-portal-body :is(.portal-tabulator-toolbar-btn, .portal-tabulator-column-trigger,
    .portal-table-querybar__advanced-trigger, .portal-tabulator-column-reset,
    .portal-header-icon, .connector-admin__table-action, .connector-admin__apps-heading,
    .connector-admin__stores-link,
    .connector-admin__quiet-action:not([data-connector-create]),
    .connector-admin__row-action):is(:hover, :focus-visible, :active, [aria-expanded='true']),
body.ui-portal-body .connector-admin__view-filter .connector-admin__quiet-action.is-active {
    background: var(--portal-surface-soft);
    border-color: var(--ui-color-border);
    color: var(--portal-ink);
}
body.ui-portal-body :is(.portal-tabulator-toolbar-btn, .portal-tabulator-column-trigger)
    .portal-tabulator-toolbar-btn-icon {
    background: transparent;
    color: inherit;
}
body.ui-portal-body :is(.portal-tabulator-menu-item, .portal-tabulator-menu-pin,
    .portal-tabulator-pin-option, .admin-platform-search-filter-trigger,
    .portal-header-viewas-options button):is(:hover, :focus-visible, :active, .is-selected),
body.ui-portal-body .admin-platform-search-filter-trigger:not(.is-inactive),
body.ui-portal-body .portal-tabulator-column-option:is(:hover, :focus-within) {
    background: var(--portal-surface-soft);
    color: var(--portal-ink);
}
body.ui-portal-body :is(.portal-tabulator-toolbar-btn, .portal-tabulator-column-trigger,
    .portal-table-querybar__advanced-trigger, .portal-tabulator-column-reset,
    .portal-header-icon, .connector-admin button, .connector-admin-drawer button,
    .connector-admin__stores-link):focus-visible {
    outline: 2px solid var(--portal-accent);
    outline-offset: 2px;
    box-shadow: none;
}

/* Every custom tooltip uses the same neutral CB911 surface, including floating overlays. */
:root body :is([role='tooltip'], .portal-ui-tooltip, .portal-sidebar-toggle-tooltip,
    .portal-chart-tooltip, .dispute-report-pin-tooltip, .tooltip-popup,
    .tabulator-tooltip, .admin-billing-schedule__chart-tooltip) {
    background: #404040;
    border-color: #404040;
    color: var(--ui-color-white);
    box-shadow: none;
}
:root body :is([role='tooltip'], .portal-ui-tooltip, .portal-sidebar-toggle-tooltip,
    .portal-chart-tooltip, .dispute-report-pin-tooltip, .tooltip-popup,
    .tabulator-tooltip, .admin-billing-schedule__chart-tooltip) :is(strong, span, small, p) {
    color: inherit;
}
