/*
 * Shared visual language with Euro Support's client-tokens.css/client-eurion.css.
 * Neutral surfaces, azure actions and navigation icons, subtle field/table dividers.
 * Component layout and responsive behavior remain in the page stylesheets.
 */
:root {
    --eurion-black: #030303;
    --eurion-surface: #0b0b0b;
    --eurion-surface-raised: #111111;
    --eurion-surface-hover: #171717;
    --eurion-border: rgba(255, 255, 255, .10);
    --eurion-border-strong: rgba(255, 255, 255, .18);
    --eurion-text: #f7f7f7;
    --eurion-muted: #929292;
    --eurion-blue: #008ee8;
    --eurion-blue-hover: #24a6f5;
    --eurion-blue-rgb: 0, 142, 232;
    --client-channel-icon: #38b5ff;
    --client-input-border: var(--eurion-border);
    --client-input-border-focus: #ffffff45;
    --eurion-table-divider: rgba(255, 255, 255, .055);
    --eurion-primary-text: #ffffff;
    --eurion-primary-disabled-text: #b8b8b8;
    --eurion-primary-disabled-bg: #242424;
}

/* Authentication */
.auth-layout,
.auth-page {
    color: var(--eurion-text);
    background: var(--eurion-black);
}

.auth-panel {
    background: var(--eurion-surface);
    border: 1px solid var(--eurion-border);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .42);
}

.auth-panel__heading p,
.auth-legal-copy {
    color: var(--eurion-muted) !important;
}

.auth-label {
    color: #f0f0f0;
}

.auth-input,
.auth-input:-webkit-autofill,
.auth-input:-webkit-autofill:hover,
.auth-input:-webkit-autofill:focus {
    color: var(--eurion-text);
    background: var(--eurion-surface-raised);
    -webkit-text-fill-color: var(--eurion-text);
    -webkit-box-shadow: 0 0 0 1000px var(--eurion-surface-raised) inset;
}

.auth-input::placeholder {
    color: #777;
}

.auth-input:hover {
    background: var(--eurion-surface-hover);
}

.auth-input:focus {
    background: var(--eurion-surface-hover);
    box-shadow: 0 0 0 2px rgba(var(--eurion-blue-rgb), .52);
}

.auth-remember__box {
    background: var(--eurion-surface-hover);
    box-shadow: inset 0 0 0 1px var(--eurion-border);
}

.auth-remember input:checked + .auth-remember__box,
.auth-submit {
    background: var(--eurion-blue);
}

.auth-submit:hover {
    background: var(--eurion-blue-hover);
}

.auth-back-link,
.auth-provider {
    color: #d0d0d0;
    background: var(--eurion-surface-raised);
    box-shadow: inset 0 0 0 1px var(--eurion-border);
}

.auth-back-link:hover,
.auth-provider:hover {
    color: #fff;
    background: var(--eurion-surface-hover);
}

/* Client and administration shell */
.client-admin-body {
    --client-bg: var(--eurion-black);
    --client-bg-soft: #070707;
    --client-sidebar: #050505;
    --client-panel: var(--eurion-surface);
    --client-panel-2: var(--eurion-surface-raised);
    --client-border: var(--eurion-border);
    --client-border-strong: var(--eurion-border-strong);
    --client-text: var(--eurion-text);
    --client-muted: var(--eurion-muted);
    --bs-secondary-color: var(--eurion-muted);
    --bs-secondary-color-rgb: 146, 146, 146;
    --client-accent: var(--eurion-blue);
    --client-accent-soft: rgba(var(--eurion-blue-rgb), .14);
    --client-field: var(--eurion-surface-raised);
    --client-field-hover: var(--eurion-surface-hover);
    --client-field-focus: #1a1a1a;
    --client-surface-borderless: var(--eurion-surface);
    --client-surface-borderless-raised: var(--eurion-surface-hover);
}

html,
body.client-admin-body,
.client-admin-shell,
.client-admin-main,
.main-body,
.client-page {
    background: var(--eurion-black) !important;
}

.client-sidebar {
    background: #050505 !important;
    border-right-color: var(--eurion-border) !important;
}

.client-sidebar__nav {
    --sidebar-scrollbar-thumb: #424242;
    scrollbar-width: thin;
    scrollbar-color: var(--sidebar-scrollbar-thumb) transparent;
}

.client-sidebar__nav:hover {
    --sidebar-scrollbar-thumb: #626262;
}

/* Use a precise width where custom scrollbars are supported; keep the thin fallback. */
@supports selector(::-webkit-scrollbar) {
    .client-sidebar__nav {
        scrollbar-width: auto;
        scrollbar-color: auto;
    }

    .client-sidebar__nav::-webkit-scrollbar {
        width: 4px;
        height: 4px;
    }

    .client-sidebar__nav::-webkit-scrollbar-track {
        background: transparent;
    }

    .client-sidebar__nav::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: var(--sidebar-scrollbar-thumb);
    }

    .client-sidebar__nav::-webkit-scrollbar-button {
        display: none;
    }
}

.client-sidebar__brand,
.client-sidebar__footer,
.client-topbar {
    background: #050505 !important;
    border-color: var(--eurion-border) !important;
}

.client-sidebar__label,
.client-topbar__eyebrow,
.client-page-kicker {
    color: #858585 !important;
}

.client-admin-body .client-sidebar__link,
.client-admin-body .client-sidebar__group-toggle,
.client-admin-body .client-sidebar__sublink,
.client-admin-body .client-sidebar__profile-link {
    color: #d9d9d9;
}

.client-admin-body .client-sidebar__link i,
.client-admin-body .client-sidebar__group-main > i,
.client-admin-body .client-sidebar__sublink i {
    color: #a7a7a7;
}

.client-sidebar__link:hover,
.client-sidebar__group-toggle:hover,
.client-sidebar__profile-link:hover,
.client-sidebar__sublink:hover {
    background: var(--eurion-surface-raised) !important;
}

.client-sidebar__link.active,
.client-sidebar__group-toggle.active,
.client-sidebar__sublink.active {
    color: #fff !important;
    background: var(--eurion-surface-hover) !important;
}

.client-sidebar__link.active i,
.client-sidebar__group-toggle.active .client-sidebar__group-main > i,
.client-sidebar__sublink.active i {
    color: #fff !important;
}

.client-sidebar__collapse,
.client-admin-main .client-topbar__menu,
.client-admin-main .client-icon-button,
.client-admin-main .client-user-button,
.client-admin-main .client-online-control,
.client-icon-action {
    color: #e8e8e8 !important;
    background: var(--eurion-surface-raised) !important;
    border-color: var(--eurion-border) !important;
}

.client-sidebar__collapse:hover,
.client-admin-main .client-topbar__menu:hover,
.client-admin-main .client-icon-button:hover,
.client-admin-main .client-user-button:hover,
.client-admin-main .client-user-button:focus,
.client-admin-main .client-user-button.show,
.client-admin-main .client-online-control:hover,
.client-icon-action:hover {
    color: #fff !important;
    background: var(--eurion-surface-hover) !important;
    border-color: var(--eurion-border-strong) !important;
}

.client-page-header {
    border-bottom-color: var(--eurion-border);
}

.client-page-title,
.client-topbar__title {
    color: #fff !important;
}

.client-page-description {
    color: var(--eurion-muted) !important;
}

.client-admin-main .main-body .card,
.client-admin-main .main-body .widget,
.client-admin-main .main-body .box,
.client-admin-main .main-body .content-box,
.client-admin-main .main-body .nav-panel,
.client-admin-main .main-body .client-card,
.client-admin-main .main-body .dashboard-stat-card,
.client-admin-main .main-body .dashboard-panel,
.client-admin-main .main-body .statistics-card,
.client-admin-main .main-body .help-category-card,
.client-admin-main .main-body .client-settings-section,
.client-admin-main .main-body .subscription-plan-card,
.client-admin-main .main-body .subscription-summary__item,
.client-admin-main .main-body .subscription-item,
.client-admin-main .main-body .api-key-panel,
.client-admin-main .main-body .registration-step,
.client-admin-main .main-body .chat-detail-card,
.client-admin-main .main-body .ticket-actions-card,
.client-admin-main .main-body .client-info-panel {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface) !important;
    background-image: none !important;
    border-color: var(--eurion-border) !important;
}

.client-admin-main .main-body .card-header,
.client-admin-main .main-body .card-footer,
.client-card__header,
.dashboard-panel__header {
    background: var(--eurion-surface-raised) !important;
    border-color: var(--eurion-border) !important;
}

.client-admin-main .main-body .form-control,
.client-admin-main .main-body .form-select,
.client-admin-main .main-body textarea,
.client-admin-main .main-body select,
.client-admin-main .main-body .input-group-text {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface-raised) !important;
}

.client-admin-main .main-body .form-control:hover,
.client-admin-main .main-body .form-select:hover,
.client-admin-main .main-body textarea:hover,
.client-admin-main .main-body select:hover {
    background: var(--eurion-surface-hover) !important;
}

.client-admin-main .main-body .form-control:focus,
.client-admin-main .main-body .form-select:focus,
.client-admin-main .main-body textarea:focus,
.client-admin-main .main-body select:focus {
    background: #1a1a1a !important;
    box-shadow: 0 0 0 3px rgba(var(--eurion-blue-rgb), .16) !important;
}

.client-admin-main .main-body .btn-primary,
.client-admin-main .main-body .btn--primary,
.client-admin-main .main-body .btn-success {
    color: #fff !important;
    background: var(--eurion-blue) !important;
}

.client-admin-main .main-body .btn-primary:hover,
.client-admin-main .main-body .btn--primary:hover,
.client-admin-main .main-body .btn-success:hover {
    background: var(--eurion-blue-hover) !important;
}

.client-admin-main .main-body .btn-secondary,
.client-admin-main .main-body .btn-light,
.client-admin-main .main-body .btn-dark,
.client-admin-main .main-body .btn-border,
.client-admin-main .main-body .btn-outline-primary,
.client-admin-main .main-body .btn-outline-secondary {
    color: #e5e5e5 !important;
    background: var(--eurion-surface-raised) !important;
}

.client-admin-main .main-body .btn-secondary:hover,
.client-admin-main .main-body .btn-light:hover,
.client-admin-main .main-body .btn-dark:hover,
.client-admin-main .main-body .btn-border:hover,
.client-admin-main .main-body .btn-outline-primary:hover,
.client-admin-main .main-body .btn-outline-secondary:hover {
    color: #fff !important;
    background: var(--eurion-surface-hover) !important;
}

.client-admin-body .dropdown-menu,
.client-admin-body .client-dropdown,
.client-admin-body .modal-content,
.client-admin-body .list-group-item,
.client-admin-body .accordion-item,
.client-admin-body .accordion-button,
.client-admin-body .nav-tabs .nav-link,
.client-admin-body .pagination .page-link {
    color: #dedede;
    background: var(--eurion-surface) !important;
    border-color: var(--eurion-border) !important;
}

.client-admin-body .dropdown-item:hover,
.client-admin-body .dropdown-item:focus {
    color: #fff !important;
    background: var(--eurion-surface-hover) !important;
}

/* Dashboard and management cards */
.portal-stat-card,
.portal-panel,
.portal-member-card,
.portal-form {
    color: #e5e5e5;
    background: var(--eurion-surface) !important;
    background-image: none !important;
    border-color: var(--eurion-border) !important;
}

.portal-stat-card--accent {
    background: #0f0f0f !important;
    border-color: var(--eurion-border-strong) !important;
}

.portal-stat-card > span,
.portal-product-placeholder > span,
.portal-people > div > span,
.portal-member-avatar {
    color: #050505;
    background: #f4f4f4;
}

.portal-stat-card small,
.portal-panel-header small,
.portal-member-card p,
.portal-people small,
.portal-table thead th,
.portal-table td small,
.portal-empty,
.portal-client-meta {
    color: var(--eurion-muted);
}

.portal-stat-card strong,
.portal-panel-header h2,
.portal-product-placeholder h3,
.portal-people strong,
.portal-table td strong,
.portal-member-card h3 {
    color: #fff;
}

.portal-demo-badge,
.portal-status,
.portal-role,
.portal-table .portal-status {
    color: #080808;
    background: #f2f2f2;
}

.portal-product-placeholder {
    background:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
        #080808;
    background-size: 28px 28px;
    border-color: var(--eurion-border);
}

.portal-product-placeholder button {
    color: #cfcfcf;
    background: var(--eurion-surface-raised);
}

.portal-people > div,
.portal-table thead th,
.portal-table tbody td,
.portal-form-actions {
    border-color: var(--eurion-border);
}

.portal-form .form-control,
.portal-form .form-select,
.portal-form .form-check-input {
    color: var(--eurion-text);
    background-color: var(--eurion-surface-raised);
    border-color: var(--eurion-border);
}

.portal-form .form-control:focus,
.portal-form .form-select:focus {
    background-color: var(--eurion-surface-hover);
    border-color: var(--eurion-blue);
    box-shadow: 0 0 0 3px rgba(var(--eurion-blue-rgb), .14);
}

.portal-form .form-check-input:checked {
    background-color: var(--eurion-blue);
    border-color: var(--eurion-blue);
}

.portal-empty i {
    color: #fff;
}

/* Advertising cards */
.advertising-page {
    --ads-accent: var(--eurion-blue);
    --ads-accent-soft: rgba(var(--eurion-blue-rgb), .14);
    --ads-border: var(--eurion-border);
}

.advertising-readonly-badge,
.advertising-period {
    color: #d3d3d3;
    background: var(--eurion-surface-raised);
    border-color: var(--eurion-border);
}

.advertising-page .portal-stat-card,
.advertising-page .portal-stat-card--accent,
.advertising-platform-card,
.advertising-campaign-panel {
    color: #e5e5e5;
    background: var(--eurion-surface) !important;
    background-image: none !important;
    border-color: var(--eurion-border) !important;
}

.advertising-platform-card.is-connected {
    border-color: var(--eurion-border-strong) !important;
}

.advertising-page .portal-stat-card > span,
.advertising-platform-icon {
    color: #050505;
    background: #f2f2f2;
    border-color: #fff;
}

.advertising-platform-icon--google-ads,
.advertising-platform-icon--meta-ads {
    color: #050505;
}

.advertising-connection-state {
    color: var(--eurion-muted);
}

.advertising-platform-card__copy h2,
.advertising-platform-meta strong,
.advertising-empty h3 {
    color: #fff;
}

.advertising-platform-card__copy p,
.advertising-platform-meta span,
.advertising-config-missing,
.advertising-period {
    color: var(--eurion-muted);
}

.advertising-platform-meta span,
.advertising-config-missing {
    background: var(--eurion-surface-raised);
    border-color: var(--eurion-border);
}

.advertising-config-missing i {
    color: #fff;
}

.advertising-primary-action {
    color: #fff !important;
    background: var(--eurion-blue);
    border-color: var(--eurion-blue);
}

.advertising-primary-action:hover {
    color: #fff !important;
    background: var(--eurion-blue-hover);
    border-color: var(--eurion-blue-hover);
}

.advertising-secondary-action {
    color: #dedede;
    background: var(--eurion-surface-raised);
    border-color: var(--eurion-border);
}

.advertising-secondary-action:hover {
    color: #fff;
    background: var(--eurion-surface-hover);
    border-color: var(--eurion-border-strong);
}

.advertising-platform-label,
.advertising-platform-label--meta-ads {
    color: #080808;
    background: #efefef;
}

/* Select2 popups use the same monochrome surfaces as the rest of the client UI. */
.client-admin-body .select2-dropdown {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface) !important;
}

.client-admin-body .select2-container--default .select2-search--dropdown .select2-search__field {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface-raised) !important;
}

.client-admin-body .select2-results__options {
    scrollbar-color: #666 transparent;
}

.client-admin-body .select2-container--default .select2-results__option {
    color: #d7d7d7 !important;
    background: transparent !important;
}

.client-admin-body .select2-container--default .select2-results__option--selected,
.client-admin-body .select2-container--default .select2-results__option[aria-selected="true"] {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface-hover) !important;
}

.client-admin-body .select2-container--default .select2-results__option--highlighted,
.client-admin-body .select2-container--default .select2-results__option--highlighted[aria-selected],
.client-admin-body .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    color: #fff !important;
    background: var(--eurion-blue) !important;
}

body.client-admin-body .select2-container--default .select2-results__option--highlighted .advertising-account-option small {
    color: #fff !important;
}

/* Cards and actions use filled surfaces; fields and tables have their own dividers. */
.auth-panel,
.auth-input,
.auth-remember__box,
.auth-back-link,
.auth-provider,
.auth-submit,
.auth-submit__arrow,
.client-sidebar,
.client-sidebar__brand,
.client-sidebar__footer,
.client-sidebar__collapse,
.client-sidebar__link,
.client-sidebar__group-toggle,
.client-sidebar__sublink,
.client-sidebar__profile-link,
.client-topbar,
.client-topbar__menu,
.client-icon-button,
.client-user-button,
.client-online-control,
.client-icon-action,
.client-page-header,
.client-admin-main .main-body .card,
.client-admin-main .main-body .widget,
.client-admin-main .main-body .box,
.client-admin-main .main-body .content-box,
.client-admin-main .main-body .nav-panel,
.client-admin-main .main-body .client-card,
.client-admin-main .main-body .dashboard-stat-card,
.client-admin-main .main-body .dashboard-panel,
.client-admin-main .main-body .statistics-card,
.client-admin-main .main-body .help-category-card,
.client-admin-main .main-body .client-settings-section,
.client-admin-main .main-body .subscription-plan-card,
.client-admin-main .main-body .subscription-summary__item,
.client-admin-main .main-body .subscription-item,
.client-admin-main .main-body .api-key-panel,
.client-admin-main .main-body .registration-step,
.client-admin-main .main-body .chat-detail-card,
.client-admin-main .main-body .ticket-actions-card,
.client-admin-main .main-body .client-info-panel,
.client-admin-main .main-body .form-control,
.client-admin-main .main-body .form-select,
.client-admin-main .main-body textarea,
.client-admin-main .main-body select,
.client-admin-main .main-body .input-group-text,
.client-admin-main .main-body .btn,
.client-admin-main .main-body button,
.client-admin-body .dropdown-menu,
.client-admin-body .client-dropdown,
.client-admin-body .modal-content,
.client-admin-body .list-group-item,
.client-admin-body .accordion-item,
.client-admin-body .accordion-button,
.client-admin-body .nav-tabs .nav-link,
.client-admin-body .pagination .page-link,
.portal-stat-card,
.portal-panel,
.portal-product-placeholder,
.portal-member-card,
.portal-form,
.portal-empty,
.portal-demo-badge,
.portal-status,
.portal-role,
.portal-product-placeholder button,
.portal-people > div,
.portal-form-actions,
.advertising-readonly-badge,
.advertising-period,
.advertising-platform-card,
.advertising-platform-icon,
.advertising-platform-meta span,
.advertising-config-missing,
.advertising-campaign-panel,
.advertising-primary-action,
.advertising-secondary-action,
.advertising-platform-label {
    border: 0 !important;
}

.auth-back-link,
.auth-provider,
.auth-remember__box {
    box-shadow: none;
}

/* Structural shell dividers intentionally remain visible. */
.client-sidebar {
    border-right: 1px solid rgba(255, 255, 255, .10) !important;
}

.client-topbar {
    border-bottom: 1px solid rgba(255, 255, 255, .10) !important;
}

.client-sidebar__brand {
    border-bottom: 1px solid rgba(255, 255, 255, .10) !important;
}

.client-sidebar__footer {
    border-top: 1px solid rgba(255, 255, 255, .10) !important;
}

/* Euro Support-inspired topbar controls in the Eurion palette. */
.client-topbar__actions .client-icon-button,
.client-topbar__actions .client-online-control,
.client-topbar__actions .client-user-button {
    color: #d8d8d8 !important;
    background: var(--eurion-surface-raised) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.client-topbar__actions .client-icon-button:hover,
.client-topbar__actions .client-online-control:hover,
.client-topbar__actions .client-user-button:hover,
.client-topbar__actions .client-user-button:focus,
.client-topbar__actions .client-user-button.show {
    color: #fff !important;
    background: var(--eurion-surface-hover) !important;
}

.client-topbar__actions .client-icon-button.is-muted {
    color: #777 !important;
    background: #0d0d0d !important;
}

.client-online-control {
    cursor: pointer;
    user-select: none;
}

.client-online-control .form-check-input {
    cursor: pointer;
    border: 0 !important;
    box-shadow: none !important;
}

.client-online-control .form-check-input:checked {
    background-color: #20c84b !important;
}

.client-online-control.is-offline .client-status-dot {
    background: #777;
    box-shadow: none;
}

.client-online-control.is-offline {
    color: #8a8a8a !important;
}

.portal-notification-menu {
    min-width: 230px;
}

.portal-user-menu {
    min-width: 240px;
}

.portal-user-summary {
    display: grid;
    gap: 3px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #f2f2f2 !important;
}

.portal-user-summary strong {
    overflow: hidden;
    font-size: .84rem;
    text-overflow: ellipsis;
}

.portal-user-summary small,
.portal-notification-menu .dropdown-item-text {
    color: var(--eurion-muted);
    font-size: .72rem;
}

.portal-user-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
}

.client-dropdown .dropdown-divider {
    border-top-color: rgba(255, 255, 255, .10);
}

/* Forms live directly on the page; only their controls keep a surface. */
.client-admin-main .main-body .portal-form {
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/*
 * Keep the label readable on every blue primary action. Several actions are
 * links, so the general link colour from client-theme.css would otherwise win
 * over the white label declared by the page component.
 */
.client-admin-body .client-admin-main .main-body .btn-primary,
.client-admin-body .client-admin-main .main-body .btn--primary,
.client-admin-body .client-admin-main .main-body .btn-success,
.client-admin-body .client-admin-main .main-body .advertising-primary-action,
.client-admin-body .client-admin-main .main-body .advertising-create-campaign,
.client-admin-body .client-admin-main .main-body .campaign-export-modal-continue,
.client-admin-body .client-admin-main .main-body .performance-goal-primary-button,
.client-admin-body .client-admin-main .main-body .ai-agent-primary-button,
.client-admin-body .client-admin-main .main-body .product-source-primary-button,
.client-admin-body .client-admin-main .main-body .advertising-connection-primary {
    color: #fff !important;
}

.client-admin-body .client-admin-main .main-body .advertising-primary-action:hover,
.client-admin-body .client-admin-main .main-body .advertising-primary-action:focus-visible,
.client-admin-body .client-admin-main .main-body .advertising-create-campaign:hover,
.client-admin-body .client-admin-main .main-body .advertising-create-campaign:focus-visible,
.client-admin-body .client-admin-main .main-body .campaign-export-modal-continue:hover,
.client-admin-body .client-admin-main .main-body .campaign-export-modal-continue:focus-visible,
.client-admin-body .client-admin-main .main-body .performance-goal-primary-button:hover,
.client-admin-body .client-admin-main .main-body .performance-goal-primary-button:focus-visible,
.client-admin-body .client-admin-main .main-body .ai-agent-primary-button:hover,
.client-admin-body .client-admin-main .main-body .ai-agent-primary-button:focus-visible,
.client-admin-body .client-admin-main .main-body .product-source-primary-button:hover,
.client-admin-body .client-admin-main .main-body .product-source-primary-button:focus-visible,
.client-admin-body .client-admin-main .main-body .advertising-connection-primary:hover,
.client-admin-body .client-admin-main .main-body .advertising-connection-primary:focus-visible {
    color: #fff !important;
}

/* Disabled primary actions stay clearly legible without looking enabled. */
.client-admin-body .client-admin-main .main-body .btn-primary:disabled,
.client-admin-body .client-admin-main .main-body .btn--primary:disabled,
.client-admin-body .client-admin-main .main-body .btn-success:disabled,
.client-admin-body .client-admin-main .main-body .performance-goal-primary-button:disabled,
.client-admin-body .client-admin-main .main-body .ai-agent-primary-button:disabled,
.client-admin-body .client-admin-main .main-body .product-source-primary-button:disabled {
    color: var(--eurion-primary-disabled-text) !important;
    background: var(--eurion-primary-disabled-bg) !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

/*
 * Global contrast contract for actions.
 * Page-level link colours have greater specificity than many component
 * classes. Match semantic action class names here so every current and future
 * primary action keeps a white label without maintaining another allow-list.
 */
.client-admin-body .client-admin-main .main-body :is(a, button, input)[class*="primary"],
.client-admin-body .client-admin-main .main-body :is(button, input)[class*="-submit"],
.client-admin-body .client-admin-main .main-body a[class*="-button"],
.client-admin-body .client-admin-main .main-body a[class*="-action"] {
    color: var(--eurion-primary-text) !important;
}

.client-admin-body .client-admin-main .main-body :is(a, button, input)[class*="primary"]:is(:hover, :focus, :focus-visible, :active, :visited),
.client-admin-body .client-admin-main .main-body :is(button, input)[class*="-submit"]:is(:hover, :focus, :focus-visible, :active),
.client-admin-body .client-admin-main .main-body a[class*="-button"]:is(:hover, :focus, :focus-visible, :active, :visited),
.client-admin-body .client-admin-main .main-body a[class*="-action"]:is(:hover, :focus, :focus-visible, :active, :visited) {
    color: var(--eurion-primary-text) !important;
}

.client-admin-body .client-admin-main .main-body :is(button, input)[class*="primary"]:disabled,
.client-admin-body .client-admin-main .main-body :is(button, input)[class*="-submit"]:disabled,
.client-admin-body .client-admin-main .main-body a[class*="primary"][aria-disabled="true"],
.client-admin-body .client-admin-main .main-body a[class*="-button"][aria-disabled="true"],
.client-admin-body .client-admin-main .main-body a[class*="-action"][aria-disabled="true"] {
    color: var(--eurion-primary-disabled-text) !important;
    background: var(--eurion-primary-disabled-bg) !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

/* Euro Support navigation: blue primary sections and quiet nested links. */
body.client-admin-body .client-sidebar__nav > .client-sidebar__section:first-child > .client-sidebar__link:not(.is-disabled) > i:first-child:not(.la-th-large, .la-chart-pie, .la-home, .la-chart-line),
body.client-admin-body .client-sidebar__nav > .client-sidebar__section:first-child .client-sidebar__group-main > i:first-child {
    color: var(--client-channel-icon) !important;
}

body.client-admin-body .client-sidebar__nav .client-sidebar__link > span,
body.client-admin-body .client-sidebar__nav .client-sidebar__group-main > span {
    color: #fff;
}

body.client-admin-body .client-sidebar__nav .client-sidebar__sublink > span {
    color: #aaa;
}

body.client-admin-body .client-sidebar__nav .client-sidebar__sublink:is(:hover, :focus-visible, .active) > span {
    color: #eee;
}

body.client-admin-body .client-sidebar__submenu::before {
    background: #303030;
}

body.client-admin-body :is(.client-avatar, .client-collection-count) {
    color: #e5e5e5 !important;
    background: #202020 !important;
    background-image: none !important;
}

body.client-admin-body .client-admin-main .main-body :is(.form-label, .form-text, .text-muted, .text-secondary, .client-data-hint, .client-pagination) {
    color: var(--eurion-muted) !important;
}

/* Page-level accents inherit the shared palette instead of introducing another blue. */
.product-source-page {
    --source-blue: var(--eurion-blue);
    --source-blue-hover: var(--eurion-blue-hover);
    --source-panel: var(--eurion-surface);
    --source-raised: var(--eurion-surface-raised);
    --source-raised-hover: var(--eurion-surface-hover);
    --source-muted: var(--eurion-muted);
}

.meta-create-page,
.meta-campaign-page {
    --meta-blue: var(--eurion-blue);
    --meta-blue-dark: var(--eurion-blue-hover);
}

body.client-admin-body .client-admin-main .main-body :is(
    .btn-primary, .btn--primary, .btn-success, .advertising-primary-action,
    .advertising-create-campaign, .advertising-filter-submit, .campaign-export-modal-continue,
    .campaign-copy-submit, .performance-goal-primary-button, .campaign-group-primary-button,
    .ai-agent-primary-button, .product-source-primary-button, .advertising-connection-primary
):not(:disabled, .disabled, [aria-disabled="true"]) {
    color: var(--eurion-primary-text) !important;
    background: var(--eurion-blue) !important;
    background-image: none !important;
    box-shadow: none;
}

body.client-admin-body .client-admin-main .main-body :is(
    .btn-primary, .btn--primary, .btn-success, .advertising-primary-action,
    .advertising-create-campaign, .advertising-filter-submit, .campaign-export-modal-continue,
    .campaign-copy-submit, .performance-goal-primary-button, .campaign-group-primary-button,
    .ai-agent-primary-button, .product-source-primary-button, .advertising-connection-primary
):not(:disabled, .disabled, [aria-disabled="true"]):is(:hover, :focus-visible) {
    background: var(--eurion-blue-hover) !important;
}

/* Shared field frames; grouped controls have one continuous outer border. */
body.client-admin-body .client-admin-main .main-body
:is(input, textarea, select, .select2-selection, .input-group):not(:where(
    [type="hidden"], [type="checkbox"], [type="radio"], [type="range"], [type="color"],
    [type="button"], [type="submit"], [type="reset"], .select2-hidden-accessible,
    .input-group input, .input-group textarea, .input-group select, .input-group .select2-selection,
    .select2-search__field)) {
    border: 1px solid var(--client-input-border) !important;
}

body.client-admin-body .client-admin-main .main-body
:is(input, textarea, select, .select2-selection, .input-group):focus-within {
    border-color: var(--client-input-border-focus) !important;
}

body.client-admin-body .client-admin-main .main-body .input-group {
    border-radius: 11px;
}

body.client-admin-body .client-admin-main .main-body .input-group > :is(input, textarea, select, .input-group-text),
body.client-admin-body .client-admin-main .main-body .input-group .select2-selection {
    border: 0 !important;
}

body.client-admin-body .client-admin-main .main-body .select2-container--default :is(.select2-selection--single, .select2-selection--multiple) {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface-raised) !important;
}

body.client-admin-body .client-admin-main .main-body
:is(input, textarea, select, .select2-selection):is(.is-invalid, .input-validation-error, [aria-invalid="true"]),
body.client-admin-body .client-admin-main .main-body .input-group:has(:is(.is-invalid, .input-validation-error, [aria-invalid="true"])) {
    border-color: var(--bs-danger, #dc3545) !important;
}

body.client-admin-body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--eurion-blue) !important;
    outline-offset: 2px;
}

/* One table treatment for campaigns, products, performance goals and administration. */
body.client-admin-body .client-admin-main .main-body :is(.support-table-shell, .product-source-table-shell) {
    background: var(--eurion-surface) !important;
    border: 0 !important;
    scrollbar-color: #555 var(--eurion-surface);
}

body.client-admin-body .client-admin-main .main-body :is(.client-table, .portal-table, .advertising-table, .product-source-table) {
    --bs-table-bg: var(--eurion-surface);
    --bs-table-color: #c7c7c7;
    --bs-table-border-color: var(--eurion-table-divider);
    --bs-table-accent-bg: transparent;
    --bs-table-hover-bg: var(--eurion-surface-hover);
    --bs-table-hover-color: var(--eurion-text);
}

body.client-admin-body .client-admin-main .main-body :is(.client-table, .portal-table, .advertising-table, .product-source-table) thead th {
    color: var(--eurion-muted) !important;
    background: var(--eurion-surface-raised) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--eurion-border) !important;
    font: 600 10px/1.4 "IBM Plex Mono", monospace;
    letter-spacing: .08em;
}

body.client-admin-body .client-admin-main .main-body :is(.client-table, .portal-table, .advertising-table, .product-source-table) tbody > tr > :is(td, th) {
    color: #c7c7c7;
    background: var(--eurion-surface);
    border: 0 !important;
    border-bottom: 1px solid var(--eurion-table-divider) !important;
    box-shadow: none;
    font-size: 12px;
}

body.client-admin-body .client-admin-main .main-body :is(.client-table, .portal-table, .advertising-table, .product-source-table) tbody > tr:last-child > :is(td, th) {
    border-bottom: 0 !important;
}

body.client-admin-body .client-admin-main .main-body :is(.client-table, .portal-table, .advertising-table, .product-source-table) tbody > tr:is(:hover, .is-selected, .tr-highlight, .expanded, .c-table-row-expanded-content) > :is(td, th) {
    background: var(--eurion-surface-hover) !important;
}

body.client-admin-body .client-admin-main .main-body :is(.client-table, .portal-table, .advertising-table, .product-source-table) :is(small, .text-muted) {
    color: var(--eurion-muted);
}

body.client-admin-body .client-admin-main .main-body .advertising-sort-link {
    color: var(--eurion-muted);
}

body.client-admin-body .client-admin-main .main-body .advertising-sort-link:is(:hover, :focus-visible, .is-active),
body.client-admin-body .client-admin-main .main-body .advertising-sort-link:is(:hover, :focus-visible, .is-active) i {
    color: var(--eurion-blue-hover);
}

body.client-admin-body .client-admin-main .main-body .advertising-sort-link.is-active {
    background: rgba(var(--eurion-blue-rgb), .075);
    box-shadow: inset 0 -2px 0 var(--eurion-blue);
}

@media (max-width: 575.98px) {
    .portal-sound-toggle {
        display: none !important;
    }

    .client-topbar__actions {
        gap: 7px;
    }

    .client-user-button {
        min-width: 56px;
        padding-right: 9px;
        padding-left: 9px;
    }
}
