/* ClientZone theme, loaded after the shared client/admin foundation and page CSS.
 * Global colors live here; component layout belongs in its own stylesheet.
 * Blue marks primary actions, green saves, and red cancellation/destructive actions.
 * See docs/clientzone-css.md for loading order and validation notes. */
: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-primary-text: #ffffff;
    --eurion-primary-disabled-text: #dce9ff;
    --client-action-save-bg: #23834b;
    --client-action-save-hover: #2b9658;
    --client-action-save-focus: #70d697;
    --client-action-cancel: #f09a9a;
    --client-action-icon-bg: #fff;
    --client-action-icon-hover: #e5e5e5;
    --client-channel-icon: #38b5ff;
    --client-composer-surface: #202020;
    --client-composer-footer: #161616;
    --client-composer-action-hover: #ffffff0a;
}

/* 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);
    --client-accent: var(--eurion-blue);
    --client-accent-soft: rgba(52, 120, 246, .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__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 {
    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 {
    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 .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 .subscription-item,
.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 {
    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(52, 120, 246, .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;
}

/* 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;
}

/* Borderless component system */

.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-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 .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 .subscription-item,
.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 {
    border: 0 !important;
}

/* Structural shell dividers intentionally remain visible. */
.client-sidebar {
    border-right: 1px solid rgba(255, 255, 255, .10) !important;
}

.client-topbar,
.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;
}

.client-dropdown .dropdown-divider {
    border-top-color: rgba(255, 255, 255, .10);
}

/* Forms live directly on the page; only their controls keep a surface. */

/*
 * 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 {
    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 {
    color: #dce9ff !important;
    background: #285d9f !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"],
.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: #285d9f !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

@media (max-width: 575.98px) {

    .client-topbar__actions {
        gap: 7px;
    }

    .client-user-button {
        min-width: 56px;
        padding-right: 9px;
        padding-left: 9px;
    }
}

/*
 Support components and page-specific theme adjustments.
 */

body.client-admin-body {
    /* Saturated azure aligned with the logo, with white action labels. */
    --client-accent-soft: rgba(0, 142, 232, .14);
    --dashboard-chart-track: #292929;
    --chat-primary: var(--eurion-blue);
    --chat-primary-dark: var(--eurion-blue-hover);
    --chat-primary-soft: #171717;
    --chat-border: var(--eurion-border);
    --chat-muted: var(--eurion-muted);
    --chat-surface: var(--eurion-surface);
    --chat-page: var(--eurion-black);
    --chat-text: var(--eurion-text);
    --ticket-primary: var(--eurion-blue);
    --ticket-primary-dark: var(--eurion-blue-hover);
    --ticket-primary-soft: #171717;
    --ticket-border: var(--eurion-border);
    --ticket-muted: var(--eurion-muted);
    --ticket-surface: var(--eurion-surface);
    --ticket-page: var(--eurion-black);
    --ticket-text: var(--eurion-text);
}

/* Forms sit directly on the page rather than inheriting the generic card fill. */

body.client-admin-body .client-admin-main .main-body :is(.client-form-shell, .client-form-card, .client-form-section) {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .client-form-card {
    border: 0 !important;
}

body.client-admin-body .client-admin-main .main-body .client-form-section + .client-form-section {
    border-color: #292929 !important;
}

/* Section icons use the same white tiles as the redesigned dashboard. */

body.client-admin-body .client-admin-main .main-body :is(.client-form-section__icon, .ai-source-summary__icon, .ai-source-type-icon) {
    background: #f4f4f4 !important;
    color: #050505 !important;
    border: 0 !important;
    border-radius: 11px;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body :is(.client-form-section__icon, .ai-source-summary__icon, .ai-source-type-icon) :is(i, svg) {
    color: inherit !important;
}

/* Loading placeholders share the neutral surfaces of chats and messages. */

body.client-admin-body .chat-skeleton {
    background: linear-gradient(90deg, #191919, #2b2b2b, #191919);
    background-size: 220% 100%;
}

/* Setup and credit usage: neutral surfaces, Eurion blue for actions and icons. */

body.client-admin-body .main-body :is(.dashboard-checklist-item, .dashboard-extension-item) {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface) !important;
}

body.client-admin-body .main-body :is(.dashboard-checklist-item, .dashboard-extension-item):hover {
    background: var(--eurion-surface-hover) !important;
}

body.client-admin-body .main-body :is(.dashboard-checklist-heading strong,
    .dashboard-usage-metric:not(.is-over-limit) .dashboard-usage-metric__copy strong,
    .dashboard-panel h2) {
    color: var(--eurion-text);
}

body.client-admin-body .main-body :is(.dashboard-checklist-heading small,
    .dashboard-checklist-heading > span, .dashboard-checklist-copy small,
    .dashboard-extension-item small, .dashboard-usage-metric__copy small,
    .dashboard-usage-note, .dashboard-setup-guide__header p) {
    color: var(--eurion-muted) !important;
}

body.client-admin-body .main-body :is(.dashboard-checklist-state,
    .dashboard-extension-item > span, .dashboard-usage-metric__icon) {
    color: var(--eurion-blue);
    background: var(--eurion-surface-hover);
}

body.client-admin-body .main-body :is(.dashboard-checklist-action,
    .dashboard-usage-note a, .dashboard-panel-kicker) {
    color: var(--eurion-blue);
}

body.client-admin-body .main-body :is(.dashboard-checklist-item:hover .dashboard-checklist-action,
    .dashboard-usage-note a:hover) {
    color: var(--eurion-blue-hover);
}

body.client-admin-body .main-body .dashboard-panel-badge:not(.dashboard-panel-badge--warning):not(.dashboard-panel-badge--danger) {
    color: #c7c7c7;
    background: var(--eurion-surface-hover);
}

body.client-admin-body .main-body .dashboard-checklist-item.is-locked .dashboard-checklist-state {
    color: var(--eurion-muted);
}

/* Completed setup and exceeded credit limits keep their meaning. */

body.client-admin-body .main-body :is(.dashboard-checklist-item.is-complete .dashboard-checklist-state,
    .dashboard-extension-item.is-complete > span) {
    color: #62ddb8;
    background: rgba(45, 212, 167, .1);
}

body.client-admin-body .main-body .dashboard-usage-metric.is-over-limit .dashboard-usage-metric__icon {
    color: #ff96a4;
    background: rgba(231, 75, 95, .12);
}

/* Eurion's white icon tiles and quiet, borderless dashboard cards. */

body.client-admin-body .main-body .dashboard-stat-card {
    min-height: 126px;
    padding: 24px;
    border-radius: 18px;
}

body.client-admin-body .main-body :is(.dashboard-stat-icon) {
    color: #050505 !important;
    background: #f4f4f4 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .main-body .dashboard-stat-value {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
}

body.client-admin-body .main-body .dashboard-stat-label {
    font: 600 10px/1.4 "IBM Plex Mono", monospace;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.client-admin-body :is(.client-sidebar__profile-text small, .client-sidebar__caret),
body.client-admin-body .client-admin-main .main-body :is(
    .text-muted, .text-secondary, .form-text, .form-label, .client-data-hint,
    .client-page-description, .statistics-card__hint,
    .ai-qa-default-language-caption, .phone-number-modal-empty__hint, .ai-reply-help,
    .client-form-section__header p, .client-detail-list span, .client-detail-list small,
    .client-list-meta, .client-list-details span, .client-empty-state,
    .client-empty-state small, .client-empty-state p,
    .dashboard-stat-label, .dashboard-stat-hint, .dashboard-stat-arrow,
    .chat-panel-subtitle, .chat-header-meta, .chat-time, .chat-last-message,
    .chat-message-author, .chat-message-timestamp, .chat-message-language,
    .chat-detail-label, .chat-language-label,
    .chat-system-message, .chat-empty-state, .chat-default-state,
    .chat-empty-state span, .chat-default-state > span, .chat-default-state > p,
    .chat-more-loader, .chat-composer .infomessage,
    .ticket-panel-subtitle, .ticket-meta-label, .ticket-meta-secondary,
    .ticket-subject-original, .ticket-language-label, .ticket-empty-messages,
    .archive-message-head time, .archive-message-language,
    .quick-reply-picker__header small, .quick-reply-picker__item small, .quick-reply-picker__item p,
    .quick-reply-picker__empty, .quick-reply-picker__loader, .quick-reply-picker__footer span
) {
    color: var(--eurion-muted) !important;
}

body.client-admin-body .main-body :is(.chat-person-name, .chat-detail-value, .ticket-meta-value,
    .quick-reply-picker__header strong, .quick-reply-picker__item) {
    color: var(--eurion-text) !important;
}

body.client-admin-body :is(.client-avatar, .client-collection-count),
body.client-admin-body .main-body :is(.chat-avatar, .chat-count, .ticket-message__avatar) {
    color: #e5e5e5 !important;
    background: #202020 !important;
    background-image: none !important;
}

/* Preserve semantic status colours; only neutral tags use the grey surface. */

body.client-admin-body .main-body .client-list-status:not([class*="client-list-status--"]),
body.client-admin-body .main-body .chat-status {
    color: #d7d7d7;
    background: var(--eurion-surface-hover);
}

body.client-admin-body .main-body :is(.dashboard-panel,
    .dashboard-setup-guide, .quick-reply-form-card, .quick-reply-language-block,
    .subscription-overview, .subscription-plan-section, .subscription-billing-strip,
    .usage-context, .usage-detail, .usage-metric-card, .ticket-ai-setting,
    .ticket-category-card, .archive-message, .ai-qa-language-panel) {
    background: var(--eurion-surface) !important;
    background-image: none !important;
}

/* Match the source portal's neutral tables, including selected and expanded rows. */

body.client-admin-body .client-admin-main .main-body .support-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 .client-table thead th {
    color: var(--eurion-muted) !important;
    background: var(--eurion-surface-raised) !important;
    border-bottom-color: var(--eurion-border) !important;
}

body.client-admin-body .client-admin-main .main-body .support-table-shell .client-table thead th {
    font: 600 10px/1.4 "IBM Plex Mono", monospace;
    letter-spacing: .08em;
}

body.client-admin-body .client-admin-main .main-body .client-table tbody td {
    --bs-table-accent-bg: transparent;
    color: #c7c7c7;
    border-bottom-color: rgba(255, 255, 255, .055) !important;
}

body.client-admin-body .client-admin-main .main-body :is(
    .nav-tabs .nav-link.active, .pagination .page-item.active .page-link,
    .accordion-button:not(.collapsed)) {
    color: #fff !important;
    background: var(--eurion-surface-hover) !important;
}

body.client-admin-body .client-admin-main .main-body .support-table-shell .client-table tbody td {
    color: #c7c7c7;
    font-size: 12px;
}

body.client-admin-body .client-admin-main .main-body .support-table-shell .client-table :is(.fw-semibold, strong, a:not(.btn)) {
    color: #fff;
    font-size: 13px;
}

body.client-admin-body .client-admin-main .main-body .support-table-shell .client-table :is(small, .text-muted) {
    color: var(--eurion-muted) !important;
    font-size: 11px;
}

body.client-admin-body .client-admin-main .main-body .support-table-shell .client-table tbody tr:hover > td,
body.client-admin-body .client-admin-main .main-body .support-table-shell .client-table tbody :is(tr.tr-highlight, tr.expanded, .c-table-row-expanded-content) > td {
    background: #171717 !important;
}

/* Filled fields and editor toolbar follow the source theme, without outlines at rest. */

body.client-admin-body .client-admin-main .main-body :is(.chat-search, .chat-select, .ticket-select,
    .trumbowyg-box, .trumbowyg-editor, .trumbowyg-textarea, .trumbowyg-button-pane,
    .quick-reply-picker__search input),
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;
    border: 0 !important;
}

body.client-admin-body .client-admin-main .main-body .select2-container--default .select2-selection__rendered {
    color: var(--eurion-text) !important;
}

body.client-admin-body .client-admin-main .main-body .select2-container--default .select2-selection__choice {
    color: #e5e5e5 !important;
    background: #252525 !important;
}

body.client-admin-body .client-admin-main .main-body :is(input, textarea)::placeholder,
body.client-admin-body .select2-container--default .select2-selection__placeholder {
    color: #858585 !important;
    opacity: 1;
}

body.client-admin-body .client-admin-main .main-body .trumbowyg-button-pane button {
    color: #cfcfcf !important;
}

body.client-admin-body .client-admin-main .main-body .trumbowyg-button-pane button svg {
    fill: currentColor !important;
}

body.client-admin-body .client-admin-main .main-body .form-check-input:checked {
    background-color: var(--eurion-blue) !important;
}

body.client-admin-body .client-admin-main .main-body .client-composer-action > i {
    color: inherit !important;
}

body.client-admin-body #notifications .notifications-popup {
    color: var(--eurion-text);
    background: var(--eurion-surface-raised) !important;
}

body.client-admin-body .client-admin-main .main-body :is(.form-control, .form-select):is(:disabled, [readonly]) {
    color: #777 !important;
    background: #0d0d0d !important;
}

body.client-admin-body .client-admin-main .main-body :is(.btn-send) {
    color: #fff !important;
    background: var(--eurion-blue) !important;
}

body.client-admin-body .client-admin-main .main-body :is(.btn-send):hover:not(:disabled) {
    background: var(--eurion-blue-hover) !important;
}

body.client-admin-body .client-admin-main .main-body :is(.client-composer-action,
    .chat-icon-button, .chat-secondary-button, .ticket-action-button,
    .quick-reply-picker__close) {
    color: #e5e5e5 !important;
    background: var(--eurion-surface-raised) !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body :is(.client-composer-action,
    .chat-icon-button, .chat-secondary-button, .ticket-action-button,
    .quick-reply-picker__item):hover:not(:disabled) {
    background: var(--eurion-surface-hover) !important;
}

/* Support workspaces retain their layout while adopting Eurion's surface scale. */

body.client-admin-body .main-body :is(.chat-list-panel, .chat-details-panel, .ticket-panel,
    .ticket-sidebar, .ticket-main, .ticket-actions-panel, .chat-search-wrap,
    .message-input-wrap, .ticket-sidebar-body, .ticket-actions-body, .ticket-composer, .chat-composer,
    .quick-reply-picker__panel, .ai-reply-dialog) {
    color: var(--eurion-text);
    background: var(--eurion-surface) !important;
    background-image: none !important;
    border-color: var(--eurion-border) !important;
}

body.client-admin-body .main-body :is(.chat-panel-header, .ticket-panel-header,
    .ticket-main-header, .quick-reply-picker__footer) {
    background: var(--eurion-surface-raised) !important;
    border-color: var(--eurion-border) !important;
}

body.client-admin-body .main-body .chat-list-item {
    background: transparent !important;
    border-bottom-color: var(--eurion-border) !important;
}

body.client-admin-body .main-body .chat-list-item:hover,
body.client-admin-body .main-body .chat-list-item.active {
    background: var(--eurion-surface-hover) !important;
}

body.client-admin-body .main-body .chat-list-item.is-unread .chat-last-message {
    color: #e5e5e5 !important;
}

body.client-admin-body .main-body .chat-message-row.user .chat-message-bubble {
    color: #fff !important;
    background: var(--eurion-blue) !important;
    border: 0;
    box-shadow: none;
}

body.client-admin-body .main-body .chat-message-row.agent .chat-message-bubble {
    color: #fff !important;
    background: #252525 !important;
    box-shadow: none;
}

body.client-admin-body .main-body .chat-message-translation {
    opacity: 1;
    border-top-color: var(--eurion-border-strong);
}

body.client-admin-body .main-body .chat-message-row.user .chat-message-translation {
    color: #fff;
    border-top-color: rgba(255, 255, 255, .3);
}

#messages > .message.ticket-message {
    color: var(--eurion-text) !important;
    background: var(--eurion-surface-raised) !important;
    border: 0 !important;
    box-shadow: none !important;
}

#messages > .message.ticket-message .message-attachments a {
    color: #d7d7d7;
    background: #252525;
}

#messages .ticket-message__identity strong {
    color: var(--eurion-text);
}

body.client-admin-body #chat-details-body {
    background: var(--eurion-surface) !important;
}

/* Translation remains a distinct, labelled section in the new neutral palette. */

#messages > .message.ticket-message .message-body > .ticket-message__part--original {
    --message-part-surface: #0b0b0b;
    --message-part-text: #999;
    --message-part-label: #999;
    --message-part-label-bg: #222;
}

#messages > .message.ticket-message--single-language .message-body > .ticket-message__part--original,
#messages > .message.ticket-message .message-body > .ticket-message__part--translation {
    --message-part-surface: #1b1b1b;
    --message-part-text: #f7f7f7;
    --message-part-label: #f7f7f7;
    --message-part-label-bg: #333;
}

#messages :is(.ticket-message__time, .ticket-message__time strong,
    .ticket-message__language, .ticket-message__identity small) {
    color: var(--eurion-muted) !important;
}

/* Focus uses Eurion blue only during keyboard interaction. */

body.client-admin-body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
body.client-admin-body .client-admin-main .main-body :is(a, button, input, select, textarea, summary, [tabindex], [contenteditable="true"]):focus-visible {
    outline: 2px solid var(--eurion-blue) !important;
    outline-offset: 2px;
}

/* Blue actions use white labels; their icons are styled independently below. */

body.client-admin-body .client-admin-main .main-body :is(.btn-primary, .btn--primary,
    .btn-success, .btn-send):not(:disabled):not([aria-disabled="true"]),
body.client-admin-body .client-admin-main .main-body :is(.btn-primary, .btn--primary,
    .btn-success, .btn-send):not(:disabled):is(:hover, :focus, :active, :visited) {
    color: var(--eurion-primary-text) !important;
}

body.client-admin-body :is(.btn-primary, .btn--primary, .btn-success,
    .btn-send,
    button[class*="primary"], a[class*="primary"]) {
    color: #fff !important;
}

body.client-admin-body .client-admin-main .main-body :is(.btn-primary, .btn--primary,
    .btn-success, .btn-send,
    button[class*="primary"], a[class*="primary"]) :is(i, svg, .icon) {
    color: #000 !important;
}

body.client-admin-body .select2-container--default .select2-results__option--highlighted,
body.client-admin-body .select2-container--default .select2-results__option--highlighted .select2-flag-option__secondary {
    color: #fff !important;
}

body.client-admin-body .client-admin-main .main-body :is(.form-control, .form-select, textarea, select):focus {
    box-shadow: 0 0 0 3px rgba(0, 142, 232, .16) !important;
}

/* Submenu guides stay neutral alongside the monochrome navigation. */

body.client-admin-body .client-sidebar__submenu::before {
    background: #303030;
}

/* Neutral scrollbars, including the sidebar's formerly blue native thumb. */

html,
body.client-admin-body,
body.client-admin-body *,
body.client-admin-body :is(.client-sidebar__nav, .custom-scrollbar, .select2-results__options) {
    scrollbar-color: #555 #0b0b0b;
}

body.client-admin-body .client-sidebar__nav {
    scrollbar-width: thin;
}

body.client-admin-body .client-sidebar__nav::-webkit-scrollbar {
    width: 6px;
}

/* Fallback for engines using the existing WebKit scrollbar rules. */

html::-webkit-scrollbar-thumb,
body.client-admin-body::-webkit-scrollbar-thumb,
body.client-admin-body *::-webkit-scrollbar-thumb {
    background: #555;
    border-color: #0b0b0b;
}

html::-webkit-scrollbar-thumb:hover,
body.client-admin-body::-webkit-scrollbar-thumb:hover,
body.client-admin-body *::-webkit-scrollbar-thumb:hover,
body.client-admin-body *::-webkit-scrollbar-thumb:active {
    background: #777;
}

html::-webkit-scrollbar-track,
html::-webkit-scrollbar-corner,
body.client-admin-body::-webkit-scrollbar-track,
body.client-admin-body::-webkit-scrollbar-corner,
body.client-admin-body *::-webkit-scrollbar-track,
body.client-admin-body *::-webkit-scrollbar-track:hover,
body.client-admin-body *::-webkit-scrollbar-track:active,
body.client-admin-body *::-webkit-scrollbar-corner {
    background: #0b0b0b;
}

/* Shared completed inbox illustration: retain the generated white/azure palette. */

body.client-admin-body :is(.chat-empty-state, .client-empty-state) img.client-all-done-illustration {
    width: 144px;
    max-width: 100%;
    height: auto;
    margin-bottom: 16px;
    opacity: 1;
    filter: none;
    object-fit: contain;
}

/* Conversation selection artwork, including dynamically restored empty states. */

body.client-admin-body .chat-default-state img[src*="select-conversation-modern.png"] {
    width: 180px;
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
    opacity: 1;
    filter: none;
    object-fit: contain;
}

/* One neutral surface for conversation details in both chat and messages. */

body.client-admin-body .client-admin-main .main-body .chat-details-panel {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .chat-details-panel :is(.chat-panel-header, .chat-details-body, .chat-detail-card, .chat-detail-row) {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-details-body { padding: 6px 20px 20px; }

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-detail-card { padding: 0; border-radius: 0; }

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-detail-row { padding: 12px 0; }

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-detail-label {
    color: #929292 !important;
    font-weight: 500;
    letter-spacing: .04em;
    margin-bottom: 6px;
}

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-detail-value { color: #ededed !important; }

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-detail-link { color: var(--eurion-blue) !important; }

body.client-admin-body .client-admin-main .main-body .chat-details-panel :is(.chat-map, .chat-map-fallback) { background: #1c1c1c; border-radius: 10px; }

body.client-admin-body .client-admin-main .main-body .chat-details-panel .chat-map-fallback { color: #929292; }

body.client-admin-body .client-sidebar__dev-badge {
    background: var(--eurion-blue) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 4px 8px;
    font-weight: 700;
}

/* Primary communication channels share one blue; submenu icons stay neutral. */

body.client-admin-body .client-sidebar__nav .client-sidebar__link > :is(.la-comments, .la-inbox, .la-mail-bulk),
body.client-admin-body .client-sidebar__nav .client-sidebar__group-main > .la-phone-volume {
    color: var(--client-channel-icon) !important;
}

/* Widget collection: neutral surfaces and typography match the client workspace. */

body.client-admin-body.client-action-widgets .client-admin-main .main-body .client-list-card {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .client-list-avatar--widget {
    background: #242424 !important;
    color: #fff !important;
    border: 0 !important;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .client-list-details {
    padding: 4px 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .client-list-details strong {
    color: #e5e5e5 !important;
    font-weight: 500;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body :is(.client-list-meta, .client-list-details span) {
    color: #999 !important;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .client-collection-count {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 0 !important;
    border-radius: 999px;
    background: #1c1c1c !important;
    color: #bdbdbd !important;
    font-weight: 500;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .client-list-status {
    background: #242424 !important;
    color: #e5e5e5 !important;
    border: 0 !important;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .btn-embed {
    background: transparent !important;
    border: 0 !important;
    color: #e5e5e5 !important;
    box-shadow: none !important;
}

body.client-admin-body.client-action-widgets .client-admin-main .main-body .btn-embed:hover {
    background: #242424 !important;
    color: #fff !important;
}

/* Messaging connections share the neutral client surfaces, including account selection. */

body.client-admin-body .client-admin-main .main-body .message-connections__intro {
    background: transparent !important;
    border: 0 !important;
    padding: 0 0 12px;
}

body.client-admin-body .client-admin-main .main-body .message-channel-card {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 20px;
    padding: 20px;
    gap: 16px;
}

body.client-admin-body .message-connections__grid { gap: 14px; }

body.client-admin-body .message-channel-card__icon {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    border-radius: 16px;
    background: #202020;
}

body.client-admin-body .message-channel-card__icon > i,
body.client-admin-body .message-channel-card__icon > i::before { font-size: 36px !important; }

body.client-admin-body .message-channel-card__head { gap: 14px; }

body.client-admin-body .client-admin-main .main-body .message-connections :is(h2, h3,
    .message-phone-option__identity strong, .message-connected-account__identity strong) { color: #f3f3f3 !important; }

body.client-admin-body .client-admin-main .main-body .message-connections :is(
    .message-connections__intro p, .message-human-only, .message-channel-card__identity > span,
    .message-channel-card__body, .message-phone-selector__header p,
    .message-phone-option__identity > span, .message-phone-option__pin label,
    .message-phone-option__pin small, .message-connected-account__identity > div > span) {
    color: #a0a0a0 !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections :is(
    .message-phone-selector__count, .message-phone-option, .message-connected-account) {
    background: #1b1b1b !important;
    color: #dedede;
    border: 0 !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections .message-phone-option:is(.is-selected, :has(input:checked)) {
    background: #292929 !important;
}

body.client-admin-body .message-connections :is(.message-phone-option__marker, .message-phone-option__pin input) {
    background: #333;
    border: 0;
}

body.client-admin-body .message-connections .message-phone-option__pin input { color: #f3f3f3; }

body.client-admin-body .message-connections .message-phone-option__checkbox:checked + .message-phone-option__marker {
    background: var(--eurion-blue);
    color: #fff;
}

body.client-admin-body .client-admin-main .main-body .message-connections .message-connection-alert {
    background: #242018 !important;
    color: #e9bc70 !important;
    border: 0 !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections .btn-primary:disabled {
    background: #292929 !important;
    color: #858585 !important;
    opacity: 1;
}

body.client-admin-body .client-admin-main .main-body .message-connections .btn-border {
    background: transparent !important;
    border: 0 !important;
    color: #ddd !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections .btn-border:hover {
    background: #292929 !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections .message-connect-pages-button,
body.client-admin-body .client-admin-main .main-body .message-connections .message-connect-button {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections .message-connect-pages-button i,
body.client-admin-body .client-admin-main .main-body .message-connections .message-connect-button i {
    color: var(--eurion-blue) !important;
}

body.client-admin-body .client-admin-main .main-body .message-connections .message-connect-button {
    border-radius: 999px !important;
}

/* Data sources share the neutral cards, metadata and selection states. */

body.client-admin-body .client-admin-main .main-body :is(
    .ai-source-summary strong, .ai-source-name, .ai-source-product-counts strong,
    .ai-source-sync-date, .ai-source-roadmap-note strong, .ai-source-widget-option__body strong,
    .ai-source-stat-grid strong, .ai-source-empty .client-empty-icon) {
    color: var(--eurion-text);
}

body.client-admin-body .client-admin-main .main-body :is(
    .ai-source-summary div > span, .ai-source-type, .ai-source-url,
    .ai-source-widget-badge small, .ai-source-status, .ai-source-product-counts > span,
    .ai-source-sync-meta, .ai-source-never, .ai-source-roadmap-note,
    .ai-source-widget-option__body span, .ai-source-stat-grid span) {
    color: var(--eurion-muted);
}

body.client-admin-body .client-admin-main .main-body :is(
    .ai-source-widget-badge, .ai-source-widget-more, .ai-source-widget-option__language) {
    color: var(--eurion-text);
    background: var(--eurion-surface-hover);
    border: 0;
}

body.client-admin-body .client-admin-main .main-body .ai-source-stat-grid {
    gap: 12px;
    background: transparent;
}

body.client-admin-body .client-admin-main .main-body :is(.ai-source-stat-grid > div, .ai-source-widget-option) {
    background: var(--eurion-surface-raised) !important;
}

body.client-admin-body .client-admin-main .main-body .ai-source-stat-grid > div {
    border-radius: 12px;
}

body.client-admin-body .client-admin-main .main-body .ai-source-widget-option:hover {
    background: var(--eurion-surface-hover) !important;
}

body.client-admin-body .client-admin-main .main-body .ai-source-widget-option:has(.form-check-input:checked) {
    box-shadow: inset 0 0 0 1px var(--eurion-blue) !important;
}

body.client-admin-body .client-admin-main .main-body .ai-source-form-section {
    border-bottom-color: var(--eurion-border) !important;
}

body.client-admin-body .client-admin-main .main-body .support-table-shell .ai-source-table :is(.ai-source-name:hover, .ai-source-url:hover),
body.client-admin-body .client-admin-main .main-body .ai-source-roadmap-note > i {
    color: var(--eurion-blue-hover);
}

body.client-admin-body .client-admin-main .main-body .ai-source-progress {
    background: var(--eurion-surface-hover);
}

body.client-admin-body .client-admin-main .main-body :is(.ai-source-progress span, .ai-source-status.is-waiting > span) {
    background: var(--eurion-blue);
}

body.client-admin-body .client-admin-main .main-body .ai-source-status.is-disabled > span {
    background: var(--eurion-muted);
}

/* Quick replies use blue accents within the shared neutral surfaces. */

body.client-admin-body .client-admin-main .main-body .quick-replies-page .quick-replies-summary strong {
    color: var(--eurion-blue-hover) !important;
}

body.client-admin-body .client-admin-main .main-body :is(.quick-replies-page, .quick-reply-editor) :is(.quick-replies-search i, .client-empty-icon) {
    color: #fff !important;
}

body.client-admin-body .client-admin-main .main-body .quick-replies-page :is(.quick-replies-summary i, .quick-reply-row__icon, .quick-reply-row__icon i) {
    color: #000 !important;
}

body.client-admin-body .client-admin-main .main-body .quick-replies-empty {
    background: #111 !important;
    border: 0 !important;
    color: #999 !important;
}

body.client-admin-body .client-admin-main .main-body .quick-replies-empty .fw-semibold { color: #f3f3f3; }

body.client-admin-body .client-admin-main .main-body .quick-replies-search input {
    background: #191919 !important;
    color: #f3f3f3 !important;
}

body.client-admin-body .client-admin-main .main-body .quick-replies-search input::placeholder { color: #929292; }

body.client-admin-body .quick-replies-search:focus-within { outline: 2px solid var(--eurion-blue); outline-offset: 2px; border-radius: 11px; }

body.client-admin-body .client-admin-main .main-body .quick-reply-form-card { background: transparent !important; padding-inline: 0; }

body.client-admin-body .quick-reply-channel-options input:focus-visible + span { outline: 2px solid #aaa; outline-offset: 2px; }

/* Statistics navigation follows the primary segmented navigation palette. */

body.client-admin-body .client-admin-main .main-body .statistics-subnav {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 16px;
    padding: 6px;
}

body.client-admin-body .client-admin-main .main-body .statistics-subnav__link {
    color: #aaa !important;
    background: transparent;
    border: 0;
    border-radius: 11px;
}

body.client-admin-body .client-admin-main .main-body .statistics-subnav__link:hover {
    color: #fff !important;
    background: #242424;
}

body.client-admin-body .client-admin-main .main-body .statistics-subnav__link.active {
    background: var(--eurion-blue) !important;
    color: #fff !important;
}

body.client-admin-body .client-admin-main .main-body .statistics-subnav__link.active i { color: #111 !important; }

body.client-admin-body .client-admin-main .main-body .statistics-subnav__link:focus-visible {
    outline: 2px solid #aaa;
    outline-offset: 2px;
}

/* Human and AI team cards use the same neutral identity treatment. */

body.client-admin-body .client-admin-main .main-body .client-team-page :is(.client-list-avatar, .badge) {
    background: #242424 !important;
    color: #e5e5e5 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .client-team-page .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 9px;
    border-radius: 999px;
    font-weight: 500;
}

body.client-admin-body .client-admin-main .main-body .client-team-page .client-list-card {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .client-team-page .client-list-meta { color: #999 !important; }

body.client-admin-body .client-admin-main .main-body .client-team-page .client-collection-count {
    display: inline-flex;
    align-items: center;
    align-self: center;
    padding: 6px 12px;
    border-radius: 999px;
    border: 0 !important;
    background: #1c1c1c !important;
    color: #bdbdbd !important;
    font-weight: 500;
}

body.client-admin-body .client-admin-main .main-body .client-team-page .agent-mode-switch__item.active {
    background: var(--eurion-blue) !important;
    color: #fff !important;
}

body.client-admin-body .client-team-page .agent-mode-switch__item.active i { color: #111; }

body.client-admin-body .client-team-page .agent-mode-switch__item:focus-visible { outline: 2px solid #aaa; outline-offset: 2px; }

body.client-admin-body .client-admin-main .main-body .client-team-page .client-empty-icon { color: #eee !important; }

body.client-admin-body.client-action-mysettings .client-admin-main .main-body .client-form-section__icon {
    background: #202020 !important;
    color: var(--eurion-blue) !important;
}

body.client-admin-body.client-action-mysettings .client-admin-main .main-body .client-form-section__icon i { color: var(--eurion-blue) !important; }

/* Archived chats retain the same message hierarchy as the live workspace. */

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .client-card {
    background: #111 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .client-detail-list > div { border: 0 !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page :is(.client-detail-list strong, .client-section-title > i) { color: #eee !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .client-detail-list :is(small, div > span) { color: #999 !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .client-collection-count {
    display: inline-flex;
    padding: 5px 10px;
    border: 0 !important;
    border-radius: 999px;
    background: #242424 !important;
    color: #ccc !important;
}

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .archive-message {
    background: #202020 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 18px;
}

body.client-admin-body .chat-archive-detail-page .archive-message::before,
body.client-admin-body .chat-archive-detail-page .archive-message-author > span { display: none; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page :is(.archive-message-author, .archive-message-text) { color: #f3f3f3 !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page :is(.archive-message-head time, .archive-message-language) { color: #aaa !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .archive-message-translation {
    background: #161616 !important;
    border: 0 !important;
    color: #eee !important;
}

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .archive-message-translation > span { color: #aaa !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .archive-message--customer { background: var(--eurion-blue) !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .archive-message--customer :is(.archive-message-author, .archive-message-text, .archive-message-language, time, .archive-message-translation, .archive-message-translation > span) { color: #fff !important; }

body.client-admin-body .client-admin-main .main-body .chat-archive-detail-page .archive-message--customer .archive-message-translation { background: rgba(0, 0, 0, .12) !important; }

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle {
    background: #202020 !important;
    color: #eee;
    border: 0 !important;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle:hover { background: #292929 !important; }

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle__state i { color: #aaa; }

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle.is-active .ticket-ai-master-toggle__state i { color: var(--eurion-blue); }

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle .form-check-input {
    background-color: #444 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='white'/%3E%3C/svg%3E") !important;
    background-position: left center;
    border-radius: 999px;
    box-shadow: none !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle .form-check-input:checked {
    background-color: var(--eurion-blue) !important;
    background-position: right center;
}

body.client-admin-body .client-admin-main .main-body .ticket-ai-master-toggle .form-check-input:focus-visible { outline: 2px solid #aaa; outline-offset: 3px; }

body.client-admin-body.client-action-ticketssettings .client-collection-header > .d-flex {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    align-items: stretch !important;
    max-width: 100%;
}

body.client-admin-body.client-action-ticketssettings .client-collection-header > .d-flex > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    height: 100%;
    padding: 10px 20px;
    white-space: normal;
    text-align: center;
}

@media (max-width: 400px) {
    body.client-admin-body.client-action-ticketssettings .client-collection-header > .d-flex {
        width: 100%;
        grid-auto-flow: row;
        grid-template-columns: 1fr;
    }
}

/* Shared add actions: a white icon circle followed by a plain label. */

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-plus) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px !important;
    min-height: 44px;
    padding: 0 8px 0 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    color: #fff !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn > i.la-plus {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border-radius: 50%;
    background: var(--client-action-icon-bg) !important;
    color: #111 !important;
    font-size: 21px !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-plus):hover > i {
    background: var(--client-action-icon-hover) !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-plus):focus-visible {
    outline: 2px solid var(--eurion-blue);
    outline-offset: 4px;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-plus):is(:disabled, .disabled) {
    opacity: .45;
}

/* Keep primary navigation bright and nested labels slightly muted. */

body.client-admin-body .client-sidebar__nav .client-sidebar__link > span,
body.client-admin-body .client-sidebar__nav .client-sidebar__group-main > span:not(.client-sidebar__dev-badge) {
    color: #fff !important;
}

body.client-admin-body .client-sidebar__nav .client-sidebar__sublink > span {
    color: #aaa !important;
}

body.client-admin-body .client-sidebar__nav .client-sidebar__sublink:is(:hover, :focus-visible, .active) > span {
    color: #eee !important;
}

/* Cancellation stays a quiet text action across forms and dialogs. */

body.client-admin-body .client-cancel-action,
body.client-admin-body .client-admin-main .main-body .client-cancel-action {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--client-action-cancel) !important;
    text-decoration: none !important;
}

body.client-admin-body .client-cancel-action:is(:hover, :focus-visible),
body.client-admin-body .client-admin-main .main-body .client-cancel-action:is(:hover, :focus-visible) {
    color: var(--client-action-cancel) !important;
    background: transparent !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

body.client-admin-body .client-cancel-action:focus-visible {
    outline: 2px solid #c98585;
    outline-offset: 3px;
}

/* Give primary sections room while keeping their nested links compact. */

body.client-admin-body .client-sidebar__nav .client-sidebar__section > .client-sidebar__link,
body.client-admin-body .client-sidebar__nav .client-sidebar__section > .client-sidebar__group {
    margin-top: 9px;
    margin-bottom: 9px;
}

body.client-admin-body .client-sidebar__nav .client-sidebar__sublink {
    min-height: 30px;
    padding-top: 4px;
    padding-bottom: 4px;
}

/* Save uses one compact green surface for both its icon and label. */

body.client-admin-body .ticket-status-apply {
    --client-action-save-bg: var(--eurion-blue);
    --client-action-save-hover: var(--eurion-blue-hover);
    --client-action-save-focus: var(--eurion-blue-hover);
}

body.client-admin-body .client-admin-main .main-body .ticket-actions-card .ticket-action-list > .ticket-action-button {
    border-radius: 8px !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-action-list .ticket-archive-button {
    color: var(--eurion-text) !important;
    background: #242424 !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-action-list .ticket-archive-button:hover:not(:disabled) {
    background: #303030 !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-action-list .ticket-spam-button {
    color: #f09a9a !important;
    background: #2a1719 !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-action-list .ticket-spam-button:hover:not(:disabled) {
    background: #3b2023 !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-action-list .ticket-spam-button.is-restore {
    color: var(--eurion-blue-hover) !important;
    background: #102232 !important;
}

body.client-admin-body .client-admin-main .main-body .ticket-action-list .ticket-spam-button.is-restore:hover:not(:disabled) {
    background: #173047 !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-save) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px !important;
    min-height: 42px;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--client-action-save-bg) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #fff !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-save) > i.la-save {
    flex: 0 0 auto;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #fff !important;
    font-size: 20px !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-save):hover {
    background: var(--client-action-save-hover) !important;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-save):focus-visible {
    outline: 2px solid var(--client-action-save-focus);
    outline-offset: 3px;
}

body.client-admin-body .client-admin-main .main-body :is(a, button).btn:has(> i.la-save):is(:disabled, .disabled) {
    opacity: .45;
}

/* Base Select2 shares the neutral form palette, including flag labels. */

body.client-admin-body .select2-container--default .select2-flag-option__label {
    color: #f5f5f5 !important;
}

body.client-admin-body .select2-container--default .select2-flag-option__secondary {
    color: #999 !important;
}

body.client-admin-body .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #999 transparent transparent transparent !important;
}

body.client-admin-body .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #999 transparent !important;
}

body.client-admin-body .select2-container--default .select2-dropdown {
    background: #111 !important;
    border: 0 !important;
    color: #eee !important;
}

body.client-admin-body .select2-container--default .select2-search--dropdown .select2-search__field {
    background: #202020 !important;
    color: #eee !important;
    border: 0 !important;
}

body.client-admin-body .select2-container--default .select2-results__option--selected,
body.client-admin-body .select2-container--default .select2-results__option[aria-selected="true"],
body.client-admin-body .select2-container--default .select2-results__option--highlighted {
    background: #292929 !important;
    color: #fff !important;
}

body.client-admin-body .select2-container--default :is(.select2-results__option--selected, .select2-results__option--highlighted) .select2-flag-option__secondary {
    color: #bbb !important;
}
