/* KONEVIX Theme System — single token layer shared across CRM & Admin Center. */
:root{accent-color:var(--color-accent,var(--blue));scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
html,body,#app{background:var(--color-bg-page,var(--bg));color:var(--color-text-primary,var(--text))}
body,.app-shell,.app-layout,.content,.admin-hub-v2,.admin-hub,.admin-center-page{color:var(--color-text-primary,var(--text))}
.topbar,.top-bar,.header,.app-header{background:var(--color-bg-header,var(--theme-topbar));border-color:var(--color-border-default,var(--border))}
.sidebar,.side-nav,aside.sidebar,.app-sidebar{background:var(--color-bg-sidebar,var(--panel));border-color:var(--color-border-soft,var(--border))}
.sidebar .nav.active,.sidebar .nav:focus-visible,.side-nav .active{background:var(--color-surface-selected)!important;border-color:var(--color-accent)!important;color:var(--color-text-primary)!important}
.sidebar .nav:hover,.nav:not(.active):hover{background:var(--color-surface-hover)!important}
.card,.admin-hub-v2 .admin-tool-card,.admin-hub-v2 .admin-tool-section,.settings-panel,.drawer,.dropdown,.menu,.popover,.modal,.modal-dialog,.notification-popup,.toast,.tooltip,.messenger-bubble,.form-panel{border-color:var(--color-border-default)!important;color:var(--color-text-primary)!important;background-color:var(--color-surface-primary)!important}
.card .muted,.admin-hub-v2 .muted,.form-caption,.text-muted{color:var(--color-text-secondary)!important}
input,select,textarea,.form-control,[role="combobox"]{background-color:var(--input-bg)!important;color:var(--color-text-primary)!important;border-color:var(--input-border)!important}
input::placeholder,textarea::placeholder{color:var(--color-text-muted)!important;opacity:.9}
input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:.53;cursor:not-allowed}
:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--color-accent)!important;outline-offset:2px!important}
input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)!important}
.table,table,.records-journal-table,.data-table{background:var(--color-surface-primary);color:var(--color-text-primary)}
.table thead th,table thead th,.records-journal-table thead th,.data-table thead th{background:var(--table-header-bg)!important;color:var(--color-text-secondary)!important;border-bottom:1px solid var(--color-border-strong)!important}
.table tbody td,table tbody td{border-bottom:1px solid var(--color-border-soft)!important}
.table tbody tr:hover,table tbody tr:hover{background:var(--table-row-hover)!important}
.table tbody tr.selected,table tbody tr[aria-selected="true"],.data-table tr.selected{background:var(--table-row-selected)!important}
.workspace-canvas,.tw-canvas,.records-ws-canvas,.record-ws-canvas,.runtime-object-workspace{background-color:var(--theme-workspace)!important;}
.workspace-links path,.tw-links path,.records-ws-links path{stroke:var(--workspace-connector);filter:none}
.workspace-card,.workspace-node,.tw-node,.record-ws-node,.records-ws-node{color:var(--color-text-primary)!important;border-color:var(--color-border-default)}
.workspace-minimap{background:var(--workspace-minimap-bg)!important}
.messenger-message.outgoing,.message-outgoing{background:var(--color-accent-soft)!important;border-color:var(--color-info-border)!important}
.messenger-message.incoming,.message-incoming{background:var(--color-surface-secondary)!important}
.pill.success,.badge.success,.status-success{background:var(--color-success-bg)!important;color:var(--color-success)!important;border-color:var(--color-success-border)!important}
.pill.warning,.badge.warning,.status-warning{background:var(--color-warning-bg)!important;color:var(--color-warning)!important;border-color:var(--color-warning-border)!important}
.pill.danger,.badge.danger,.status-danger{background:var(--color-danger-bg)!important;color:var(--color-danger)!important;border-color:var(--color-danger-border)!important}
.chart-tooltip,.recharts-default-tooltip{background:var(--chart-tooltip-bg)!important;border-color:var(--color-border-default)!important;color:var(--color-text-primary)!important}
/* Light/Sand/Business Gray get real depth, not washed-out inverted dark. */
html[data-theme-mode="light"] .card,html[data-theme-mode="light"] .admin-tool-card,html[data-theme-mode="light"] .records-journal-toolbar{box-shadow:var(--shadow-xs)!important}
html[data-theme-mode="light"] .page-title h1,html[data-theme-mode="light"] h2,html[data-theme-mode="light"] .card-head{color:var(--color-text-primary)!important}
.btn:not(.secondary){color:var(--color-accent-text)!important}
html[data-theme-mode="light"] .pill{border:1px solid var(--color-border-soft)}
html[data-theme-mode="light"] .sidebar{box-shadow:3px 0 12px rgba(35,50,76,.04)}
/* Responsive registry-driven cards. */
.k-theme-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,206px),1fr));gap:13px;margin:12px 0;width:100%}
.k-theme-card{display:grid;grid-template-rows:auto 1fr auto;min-width:0;overflow:hidden;border:1px solid var(--color-border-default);border-radius:14px;background:var(--color-surface-primary);box-shadow:var(--shadow-xs)}
.k-theme-card.is-selected{border:2px solid var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}
.k-theme-card-preview{border:0;background:transparent;padding:9px 9px 0;cursor:pointer;display:block;width:100%;text-align:left}
.k-theme-card-preview:hover{filter:brightness(1.04)}
.k-preview-ui{height:96px;width:100%;display:flex;overflow:hidden;border:1px solid var(--k-border);border-radius:9px;background:var(--k-bg);color:var(--k-fg);box-shadow:0 4px 10px #0002}
.k-preview-sidebar{background:var(--k-panel);width:23%;display:flex;flex-direction:column;align-items:start;gap:8px;padding:12px 8px;border-right:1px solid var(--k-border)}
.k-preview-sidebar i{width:85%;height:5px;border-radius:4px;background:var(--k-border)}.k-preview-sidebar i:nth-child(2){background:var(--k-accent)}
.k-preview-content{display:flex;gap:7px;padding:17px 8px;flex:1}.k-preview-content i{display:block;flex:1;border-radius:6px;max-height:65px;background:var(--k-panel);border:1px solid var(--k-border)}.k-preview-content i:nth-child(2){background:var(--k-alt)}
.k-theme-card-info{padding:9px 12px;display:grid;gap:3px}.k-theme-card-info strong{font-size:13px}.k-theme-card-info small{color:var(--color-text-secondary);font-size:11px}.k-theme-card-info .small{font-size:10px}
.k-theme-card-actions{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--color-border-soft);align-items:center;flex-wrap:wrap}
.k-theme-card-actions .mini{font-size:11px;padding:5px 8px}.k-theme-card-actions .check-line{margin:0;font-size:11px}
.k-theme-policy{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:12px;border:1px solid var(--color-border-default);border-radius:12px;background:var(--color-surface-secondary)}
.k-theme-policy label{margin:0}.k-theme-policy select{min-width:180px}
.k-theme-preview-banner{position:fixed;z-index:200000;bottom:18px;left:50%;transform:translateX(-50%);max-width:min(95vw,800px);display:flex;gap:11px;align-items:center;flex-wrap:wrap;justify-content:center;padding:12px 16px;background:var(--color-surface-elevated);border:1px solid var(--color-accent);border-radius:14px;box-shadow:var(--shadow-lg);color:var(--color-text-primary);font-weight:600}
.k-theme-preview-banner .btn,.k-theme-preview-banner .mini{margin:0}
/* Admin shares tokens; it may preserve its independent layout. */
.admin-hub-v2 .admin-tool-card:hover{border-color:var(--color-accent)!important;background:var(--color-surface-hover)!important}
.admin-context-bar{background:var(--color-surface-secondary);border-color:var(--color-border-default)}
.theme-admin-card{width:100%;max-width:none}
.theme-admin-card .k-theme-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr))}
@media(max-width:720px){.k-theme-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.k-theme-policy{display:grid;gap:10px}.k-theme-preview-banner{width:calc(100% - 20px);bottom:10px}.k-preview-ui{height:76px}}
@media(max-width:430px){.k-theme-gallery{grid-template-columns:minmax(0,1fr)}}


/* v1.11.1: legacy-module compatibility. All six palettes use the SAME tokens;
   never apply permanent light/dark rules to individual business modules. */
:root{
  --component-canvas:var(--color-bg-app);
  --component-panel:var(--color-surface-primary);
  --component-panel-alt:var(--color-surface-secondary);
  --component-label:var(--color-text-secondary);
  --component-stroke:var(--color-border-default);
}
/* Profile dropdown: previous #b8c9dc on #fff was unreadable. */
.topbar .user-menu,.user-menu{
  background:var(--color-surface-elevated)!important;
  color:var(--color-text-primary)!important;
  border:1px solid var(--color-border-default)!important;
  box-shadow:var(--shadow-lg)!important;
}
.user-menu .user-menu-item,.user-menu .user-menu-item.admin-entry{
  background:transparent!important;color:var(--color-text-primary)!important;
  border:1px solid transparent!important;
}
.user-menu .user-menu-item:hover,.user-menu .user-menu-item:focus-visible{
  background:var(--color-surface-hover)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-border-soft)!important;
}
.user-menu .user-menu-item.admin-entry{font-weight:700!important}
.user-menu .user-menu-item.danger-text,.user-menu .danger-text{color:var(--color-danger)!important}
.user-menu .user-menu-separator{background:var(--color-border-default)!important}
.user-menu-trigger,.user-menu-trigger .identity,.user-menu-trigger .user-menu-caret{color:var(--color-text-primary)!important}
.user-menu-trigger:hover,.user-menu-trigger[aria-expanded="true"]{background:var(--color-surface-hover)!important}
/* Shell & legacy nav elements must not inherit dark-only text colors. */
.brand,.product,.identity,.sidebar .section-label,.topbar .identity,.topbar .product{color:var(--color-text-primary)!important}
.sidebar .nav,.sidebar .nav .nav-label,.sidebar .nav .nav-caret{color:var(--color-text-primary)!important}
.topbar-navigation .nav-submenu{background:var(--color-surface-elevated)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important;box-shadow:var(--shadow-md)!important}
.mini,.btn.secondary,.thread-tab,.topbar-navigation .nav,.admin-link{
  background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important;
}
.mini:hover,.btn.secondary:hover,.thread-tab:hover,.admin-link:hover{background:var(--color-surface-hover)!important;color:var(--color-text-primary)!important}
.btn:not(.secondary):not(.danger):not(.warning):not(.good),button.btn:not(.secondary):not(.danger):not(.warning):not(.good){background:var(--color-accent)!important;color:var(--color-accent-text)!important}
.btn:not(.secondary):not(.danger):not(.warning):not(.good):hover{background:var(--color-accent-hover)!important}
.btn.danger{background:var(--color-danger-bg)!important;color:var(--color-danger)!important;border:1px solid var(--color-danger-border)!important}
.btn.warning{background:var(--color-warning-bg)!important;color:var(--color-warning)!important;border:1px solid var(--color-warning-border)!important}
.btn.good{background:var(--color-success-bg)!important;color:var(--color-success)!important;border:1px solid var(--color-success-border)!important}
.pill,.status,.badge{border-color:var(--color-border-default)}
.card-head,.kanban-head,.task-column-head,.mail-toolbar,.mail-bulk-toolbar{border-color:var(--color-border-soft)!important}
.admin-context-bar,.admin-center-card,.admin-hub-v2 .admin-tool-section,.admin-hub-v2 .admin-tool-card{
  color:var(--color-text-primary)!important;background:var(--color-surface-primary)!important;border-color:var(--color-border-default)!important
}
.admin-link,.admin-contribution,.admin-contribution small,.form label,.form-caption{color:var(--color-text-secondary)!important}
/* Email tri-pane: --card, --surface-hover and --text-muted are now supplied by
   tokenMap, and these explicit roots prevent hardcoded dark fallbacks. */
.mail-page,.mail-shell,.mail-compose,.mail-registration-modal{color:var(--color-text-primary)!important}
.mail-shell,.mail-page .mail-shell{background:var(--color-surface-primary)!important;border-color:var(--color-border-default)!important}
.mail-shell .mail-rail{background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.mail-shell .mail-list{background:var(--color-surface-primary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.mail-shell .mail-read{background:var(--color-surface-primary)!important;color:var(--color-text-primary)!important}
.mail-rail-item,.mail-item,.mail-thread-item{color:var(--color-text-primary)!important}
.mail-rail-item:hover,.mail-rail-item.active,.mail-item:hover,.mail-item.selected{background:var(--color-surface-hover)!important}
.mail-item.unread{background:var(--color-surface-selected)!important}
.mail-item-top small,.mail-list-heading small,.mail-read-meta,.mail-rail-head,.mail-item .muted,.mail-rail .muted,.mail-read .muted,.mail-pagination{color:var(--color-text-secondary)!important}
.mail-list-items .mail-item{border-color:var(--color-border-soft)!important}
.mail-toolbar,.mail-search,.mail-list-heading,.mail-pagination,.mail-bulk-toolbar,.mail-reader-head,.mail-thread-item{border-color:var(--color-border-default)!important}
.mail-page .mail-search,.mail-page .mail-search input{background:var(--input-bg)!important;color:var(--color-text-primary)!important}
.mail-page .mail-toolbar,.mail-page .mail-bulk-toolbar,.mail-pagination{background:var(--color-surface-secondary)!important}
.mail-page .mail-attachment,.mail-admin-row,.mail-grant-row{border-color:var(--color-border-soft)!important}
.mail-compose,.mail-registration-modal{background:var(--color-surface-elevated)!important;border-color:var(--color-border-default)!important}
/* Task dashboard and Kanban: remove old navy gradients and white foregrounds. */
.tasks-hero,.content.tasks-wide-content .tasks-hero,.tasks-side-card,.task-metric-card,
.task-dashboard-column,.content.tasks-wide-content .task-dashboard-column,.task-column,
.task-dashboard-card,.task-card-v2,.task-panel-v2,.task-panel-actions,
.task-toolbar-dashboard,.task-subtask,.task-result,.attention-row{
  background:var(--color-surface-primary)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.tasks-hero,.content.tasks-wide-content .tasks-hero,.task-toolbar-dashboard,.task-panel-actions,
.tasks-side-card,.task-metric-card{box-shadow:var(--shadow-xs)!important}
.task-dashboard-column,.content.tasks-wide-content .task-dashboard-column,.task-column{
  background:var(--color-surface-secondary)!important;
}
.task-dashboard-card,.task-card-v2,.task-subtask,.attention-row{background:var(--color-surface-primary)!important}
.tasks-hero-copy h1,.tasks-hero-copy .muted,.task-metric-value,
.task-column-head b,.task-card-title,.task-card-assignee,.task-panel-head h2{
  color:var(--color-text-primary)!important
}
.tasks-hero-copy .eyebrow,.content.tasks-wide-content .tasks-hero-copy .eyebrow,
.task-metric-label,.task-metric-meta,.task-column-head small,.task-card-deal,
.task-card-meta,.task-card-progress span,.task-dashboard-card .muted,
.task-subtask small,.task-panel-head .muted,.task-check-item,.attention-row small,
.attention-row span,.task-legend li,.team-load-name small{
  color:var(--color-text-secondary)!important
}
.task-column-add{background:var(--color-surface-hover)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.task-column-add:hover{background:var(--color-surface-selected)!important;color:var(--color-text-primary)!important;border-color:var(--color-accent)!important}
.task-card-progress-bar,.team-load-bar{background:var(--color-border-soft)!important}
.task-tags span{color:var(--color-text-secondary)!important;background:var(--color-surface-secondary)!important;border-color:var(--color-border-default)!important}
.task-panel-head,.task-panel-section,.task-check-item,.task-panel-actions,.task-reminder-row,.task-history-row,.task-link-row{border-color:var(--color-border-soft)!important}
.task-check-row,.tw-list-row,.task-line{color:var(--color-text-primary)!important}
.task-completion-ring::after{background:var(--color-surface-primary)!important}
.task-completion-ring span{color:var(--color-text-primary)!important}
.task-status-badge.open{background:var(--color-info-bg)!important;color:var(--color-info)!important}
.task-status-badge.progress{background:var(--color-info-bg)!important;color:var(--color-info)!important}
.task-status-badge.waiting{background:var(--color-warning-bg)!important;color:var(--color-warning)!important}
.task-status-badge.done{background:var(--color-success-bg)!important;color:var(--color-success)!important}
.task-dashboard-card.overdue,.task-card-v2.overdue{border-left:4px solid var(--color-danger)!important}
/* Workspace: preserve positions/drag/drop/z-index/relations; recolor only. */
.workspace-canvas,.tw-canvas,.records-ws-canvas,.record-ws-canvas,.runtime-object-workspace,
.entity-workspace-page .tw-canvas{color:var(--color-text-primary)!important}
.tw-node,.tw-node-center,.tw-node.workspace-selected,.tw-node-body,
.workspace-node,.node-center,.records-ws-node,.record-ws-node,.runtime-object-card,
.tw-library,.tw-palette-item,.tw-top-palette,.tw-top-chip,.tw-result,.tw-empty-link,
.tw-top-palette-title,.workspace-palette-overlay,.workspace-canvas-hint{
  background-color:var(--color-surface-primary)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.tw-node-center,.node-center{background-image:none!important}
.tw-library,.tw-top-palette,.workspace-palette-overlay{background:var(--color-surface-elevated)!important}
.tw-palette-item,.tw-top-chip,.tw-result,.tw-empty-link{background:var(--color-surface-secondary)!important}
.tw-node-head,.tw-library-head,.tw-library-tip,.tw-doc-row,.tw-list-row{border-color:var(--color-border-soft)!important}
.tw-node-head h2,.tw-node-title,.tw-node-body,.tw-palette-item,.tw-palette-item div,
.tw-check-row,.tw-list-row,.tw-reminder,.tw-person,.tw-summary{color:var(--color-text-primary)!important}
.tw-kicker,.tw-task-meta,.tw-summary span,.tw-list-row small,.tw-doc-row small,
.tw-palette-item small,.tw-library-head small,.tw-top-chip small,.tw-empty-link small,
.tw-result .muted,.tw-node-body .muted,.node-title{
  color:var(--color-text-secondary)!important
}
.tw-progress{background:var(--color-border-soft)!important}
.workspace-ribbon-active .workspace-title-centered>div:first-child{color:var(--color-text-primary)!important}
.workspace-ribbon-active .workspace-title-centered h1{color:var(--color-text-primary)!important}
.workspace-ribbon-active .workspace-title-centered .muted{color:var(--color-text-secondary)!important}
.workspace-floating-tools .presence-panel,.workspace-presence-empty{background:var(--color-surface-elevated)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
/* Do not wipe semantic accent/status colors, event-priority markers or POS customer themes. */


/* KONEVIX 1.11.2: component-level theme repair. Color only: preserve workspace
   layout, resizing, drag/drop, event semantics, and organization permissions. */

/* Navigation overlays must inherit the same surface and foreground as the shell. */
.navigation-head,.nav-collapse-toggle,.sidebar .nav-submenu,.layout .nav-submenu,
.topbar-navigation .nav-submenu,.topbar .nav-submenu {
  background:var(--color-surface-elevated)!important;
  color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.nav-collapse-toggle:hover,.nav-collapse-toggle:focus-visible {background:var(--color-surface-hover)!important;color:var(--color-text-primary)!important}
.sidebar .nav-submenu,.layout .nav-submenu {box-shadow:var(--shadow-md)!important}
.sidebar .nav-submenu .nav,.layout .nav-submenu .nav {background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important}
.sidebar .nav-submenu .nav:hover,.layout .nav-submenu .nav:hover {background:var(--color-surface-hover)!important}
.nav-icon,.nav-caret,.section-label {color:var(--color-text-secondary)!important}
.nav.active .nav-icon,.nav.active .nav-label{color:var(--color-text-primary)!important}

/* Task overview: all six palettes, including every nested dashboard element. */
.tasks-hero,.content.tasks-wide-content .tasks-hero,.task-metric-card,
.task-dashboard-column,.content.tasks-wide-content .task-dashboard-column,
.task-dashboard-card,.task-card-v2,.task-side-card,.tasks-side-card,.task-commandbar,
.task-vision-toolbar,.task-toolbar-dashboard,.task-toolbar,.task-panel-v2 {
  background:var(--color-surface-primary)!important;
  color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.task-dashboard-column,.content.tasks-wide-content .task-dashboard-column,.task-column{background:var(--color-surface-secondary)!important}
.task-metric-card{box-shadow:var(--shadow-xs)!important;position:relative;overflow:hidden}
.task-metric-card.blue{border-top:3px solid var(--color-info)!important}
.task-metric-card.cyan{border-top:3px solid var(--color-accent)!important}
.task-metric-card.red{border-top:3px solid var(--color-danger)!important}
.task-metric-card.amber{border-top:3px solid var(--color-warning)!important}
.task-metric-card.green{border-top:3px solid var(--color-success)!important}
.tasks-hero h1,.tasks-hero-copy h1,.content.tasks-wide-content .tasks-hero h1,
.task-metric-value,.task-column-head b,.task-dashboard-card b,.task-card-v2 b,
.task-dashboard-card .task-card-title,.tasks-side-card b,.task-scope.active,
.task-panel-head h2 {color:var(--color-text-primary)!important}
.tasks-hero .muted,.tasks-hero-copy .muted,.task-metric-label,.task-metric-meta,
.task-column-head small,.task-card-assignee,.task-card-deal,.task-card-meta,
.task-dashboard-card .muted,.task-toolbar-hint,.task-dashboard-card small,
.task-dashboard-column .muted,.task-card-progress span,.team-load-meter span{
  color:var(--color-text-secondary)!important;
}
.task-toolbar-dashboard button:not(.btn),.task-column-plus,.task-column-add,
.task-dashboard-column .task-column-add,.task-vision-toolbar .task-scope-segment,
.task-vision-toolbar .task-view-segment,.task-scope-segment,.task-view-segment,
.task-vision-search,.team-load-meter {
  background:var(--color-surface-secondary)!important;
  border-color:var(--color-border-default)!important;
  color:var(--color-text-primary)!important;
}
.task-scope-segment .task-scope,.task-view-segment .task-view{color:var(--color-text-secondary)!important;background:transparent!important}
.task-scope-segment .task-scope.active,.task-view-segment .task-view.active{
  background:var(--color-accent)!important;color:var(--color-accent-text)!important;
}
.task-dashboard-card,.task-card-v2,.task-subtask,.task-column .task-dashboard-card{background:var(--color-surface-primary)!important}
.task-dashboard-column .task-column-head b{color:var(--color-text-primary)!important}
.task-card-progress-bar,.team-load-meter{background:var(--color-border-soft)!important}
.task-column-plus:hover,.task-column-add:hover,.task-toolbar-dashboard button:hover{background:var(--color-surface-hover)!important}
.task-legend,.tasks-hero-badge{color:var(--color-text-primary)!important}
.tasks-hero-badge{background:var(--color-success-bg)!important;border-color:var(--color-success-border)!important}
.task-check-item,.task-check-row,.task-panel-section,.task-line{color:var(--color-text-primary)!important}

/* Messenger: text must contrast not only with the page but inside every row.
   Incoming and outgoing colors are intentionally distinct. */
.messenger-page,.messenger-sidebar,.messenger-info,.messenger-conversation,
.messenger-chat-head,.messenger-composer,.messenger-thread-list{
  background:var(--color-surface-primary)!important;
  color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.messenger-messages{background:var(--color-bg-app)!important;color:var(--color-text-primary)!important}
.messenger-thread{background:var(--color-surface-primary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-soft)!important}
.messenger-thread:hover,.messenger-thread.active{background:var(--color-surface-selected)!important}
.messenger-thread-main,.messenger-thread-main b,.messenger-chat-head b,
.messenger-welcome h2,.messenger-welcome strong,.messenger-info h2{color:var(--color-text-primary)!important}
.messenger-thread-main small,.messenger-thread-meta,.messenger-chat-head small,
.messenger-participant small,.messenger-welcome,.messenger-welcome p,
.messenger-welcome .muted{color:var(--color-text-secondary)!important}
.messenger-tabs button{background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.messenger-tabs button.active{background:var(--color-accent)!important;color:var(--color-accent-text)!important;border-color:var(--color-accent)!important}
.messenger-info-note,.messenger-info-card{background:var(--color-surface-secondary)!important;color:var(--color-text-secondary)!important;border-color:var(--color-border-default)!important}
.messenger-bubble,.messenger-message-row.theirs .messenger-bubble,
.workspace-chat-row.theirs .workspace-chat-bubble{background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.messenger-message-row.mine .messenger-bubble,.workspace-chat-row.mine .workspace-chat-bubble{
  background:var(--color-accent-soft)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-info-border)!important;
}
.messenger-bubble small,.workspace-chat-bubble small{color:var(--color-text-secondary)!important}
.messenger-composer textarea,.messenger-composer input{background:var(--input-bg)!important;color:var(--color-text-primary)!important}

/* Live Workspace palette and cards: generic component tokens + precise legacy
   selectors not caught by the 1.11.1 patch. */
.tw-library,.tw-library-head,.tw-palette-item,.workspace-palette-overlay,.tw-top-palette,
.tw-top-chip,.tw-node-head,.workspace-card-head,.tw-node-body,.workspace-card-body,
.tw-node-center,.tw-node,.workspace-node,.workspace-card,.workspace-card-primary,
.tw-node-body .tw-summary,.tw-node-body .tw-list-row,.workspace-card-empty-state {
  color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important;
}
.tw-library,.workspace-palette-overlay,.tw-top-palette{background:var(--color-surface-elevated)!important}
.tw-palette-item,.tw-top-chip,.workspace-card-empty-state{background:var(--color-surface-secondary)!important}
.tw-palette-item b,.tw-list-row b,.tw-check-summary b,.tw-check-item-copy b,
.tw-check-row,.tw-check-row b,.tw-node-title b,.tw-node-body b,
.workspace-card-primary h2,.workspace-card-empty-state b{
  color:var(--color-text-primary)!important;
}
.tw-node-title small,.tw-library-head small,.tw-check-summary small,.tw-palette-item small,
.tw-list-row small,.tw-summary span,.workspace-card-empty-state small,
.tw-check-item-meta small,.tw-check-sequence,.tw-check-drag-handle,
.workspace-card .workspace-card-title small{color:var(--color-text-secondary)!important}
.tw-checklist-group,.tw-checklist-items{background:var(--color-surface-primary)!important;border-color:var(--color-border-default)!important}
.tw-checklist-group-head,.tw-check-summary,.tw-checklist-footer{background:var(--color-surface-secondary)!important;border-color:var(--color-border-soft)!important}
.tw-check-item-main,.tw-check-tree-node.depth-1>.tw-check-item-main,.tw-check-tree-node.depth-2>.tw-check-item-main{
  background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.tw-check-tree-node.done>.tw-check-item-main,.tw-check-tree-node.locked>.tw-check-item-main{opacity:1!important}
.tw-check-assignee,.tw-checklist-collapse{background:var(--input-bg)!important;color:var(--color-text-primary)!important;border-color:var(--input-border)!important}
.tw-check-assignee:disabled{opacity:.65!important}
.tw-check-number,.tw-check-item-copy b{color:var(--color-text-primary)!important}
.tw-check-tree-node.done .tw-check-item-copy>b{color:var(--color-text-secondary)!important}
.tw-required-badge{color:var(--color-warning)!important;background:var(--color-warning-bg)!important;border-color:var(--color-warning-border)!important}
.tw-checklist-owner,.tw-check-sequence.active{color:var(--color-info)!important}
.tw-checklist-progress,.tw-checklist-card-progress>span,.tw-progress,.workspace-card-primary .tw-progress{background:var(--color-border-soft)!important}
.tw-checklist-progress span,.tw-checklist-card-progress i{background:var(--color-accent)!important}
.tw-message-list,.message-list,.records-message-list,.record-message-list{background:var(--color-surface-primary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.tw-message-list .message,.message-list .message{background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-soft)!important}
.tw-message-list .message span,.message-list .message span{color:var(--color-text-secondary)!important}
.workspace-card-count{background:var(--color-surface-secondary)!important;color:var(--color-text-secondary)!important;border-color:var(--color-border-default)!important}
.workspace-card-primary h2,.workspace-card .workspace-card-title b{color:var(--color-text-primary)!important}
.workspace-card .workspace-card-title small{color:var(--color-text-secondary)!important}

/* Company/contact property chips in graph Workspace, also when not centered. */
.ew-field,.entity-workspace-page .ew-field,.workspace-node .ew-field,
.tw-node .ew-field,.preview-field{
  background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.ew-field span,.entity-workspace-page .ew-field span,.preview-field span{color:var(--color-text-secondary)!important}
.ew-field b,.entity-workspace-page .ew-field b,.preview-field b{color:var(--color-text-primary)!important}
.ew-field a,.ew-field .ew-field-action{color:var(--color-accent)!important}
.ew-contact-details>summary,.ew-company-details>summary,.ew-linked-details>summary,
.entity-workspace-page .ew-contact-details>summary,.entity-workspace-page .ew-linked-details>summary{
  background:var(--color-surface-secondary)!important;color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}

/* Buttons, tabs and small overlays should not become dark merely because the
   old module uses custom --background, --surface or --crm-surface aliases. */
.global-notification-toast,.notification-popup,.task-filter-popover,.crm-user-dropdown,
.people-hover-card,.dropdown,.context-menu,.user-menu,.modal,.modal-head,
#modalRoot .modal-head{background:var(--color-surface-elevated)!important;color:var(--color-text-primary)!important;border-color:var(--color-border-default)!important}
.global-notification-toast span,.crm-user-option small,.people-hover-card small{color:var(--color-text-secondary)!important}
.nav-collapse-toggle{max-width:100%;white-space:nowrap}
:where(.task-commandbar,.task-toolbar,.task-vision-toolbar) :is(input,select,textarea){color:var(--color-text-primary)!important}

/* Reuse for warehouse left-nav popover and all top/side nested navigations. */
.sidebar .nav-submenu,.navigation-tree .nav-submenu,.nav-entry .nav-submenu{
  background:var(--color-surface-elevated)!important;color:var(--color-text-primary)!important;
  border:1px solid var(--color-border-default)!important;
  box-shadow:var(--shadow-md)!important;
}
/* Do not change POS customer display or published custom-color corporate logos. */

/* 1.11.2: both live graph palettes use *different* classes. The deal palette
   (uw-*) was entirely omitted from the old theme compatibility layer. */
.uw-block-palette,.tw-top-palette,.uw-block-palette.card,.tw-top-palette.card{
  background:var(--color-surface-elevated)!important;
  color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.uw-block-palette-title b,.tw-top-palette-title b,
.uw-palette-copy b,.tw-chip-copy b{color:var(--color-text-primary)!important}
.uw-block-palette-title small,.tw-top-palette-title small,
.uw-palette-copy small,.tw-chip-copy small{color:var(--color-text-secondary)!important}
.uw-palette-chip,.uw-palette-chip.attached,.tw-top-chip,.tw-top-chip.attached{
  background:var(--color-surface-secondary)!important;
  color:var(--color-text-primary)!important;
  border-color:var(--color-border-default)!important;
}
.uw-palette-chip.attached,.tw-top-chip.attached{
  background:var(--color-success-bg)!important;
  border-color:var(--color-success-border)!important;
}
.uw-palette-icon,.tw-chip-icon{
  background:var(--color-info-bg)!important;color:var(--color-info)!important;
}
.uw-palette-chip.attached .uw-palette-icon,.tw-top-chip.attached .tw-chip-icon,
.uw-palette-chip.attached .uw-palette-state,.tw-top-chip.attached .tw-chip-state{
  background:var(--color-success-bg)!important;color:var(--color-success)!important;
  border-color:var(--color-success-border)!important;
}
.uw-palette-state,.tw-chip-state{color:var(--color-text-secondary)!important;border-color:var(--color-border-default)!important}
.uw-palette-chip:hover,.tw-top-chip:hover{border-color:var(--color-accent)!important;background:var(--color-surface-hover)!important}
