/* Solid AI accents match the selected chat navigation item. Portrait headers
   and buttons retain the blue/violet gradient. Navigation and risk colors are unchanged. */
:is(.app-content, .modal, .wb-ai-dialog) {
  --ai-600: var(--assistant-accent);
  --ai-700: var(--assistant-accent-hover);
  --ai-50: var(--ai-brand-surface);
  --ai-100: var(--ai-brand-wash);
  --ai-border: var(--assistant-border);
  --purple-600: var(--assistant-accent);
  --purple-700: var(--assistant-heading);
  --purple-100: var(--ai-brand-wash);
  --app-ai: var(--assistant-accent);
  --app-ai-dark: var(--assistant-heading);
  --app-ai-50: var(--ai-brand-surface);
  --app-ai-100: var(--ai-brand-wash);
  --app-ai-border: var(--assistant-border);
}

/* A soft continuous background connects the whole assistant column. */
:is(.app-content, .modal, .wb-ai-dialog) .assistant-panel {
  background: var(--ai-brand-surface) !important;
  box-shadow: inset 0 0 0 1px var(--assistant-card-border);
  scrollbar-color: #d1c3e5 transparent;
}
.assistant-panel > section,
.assistant-panel > .assistant-body > section,
.assistant-panel > [data-ca-assistant-body] > section {
  border-color: var(--assistant-card-border);
  background: #fff;
}
.assistant-panel :is(.sw-suggestion, .cl-advice-group.is-current, .app-proposal__actions article) {
  border-color: var(--assistant-card-border);
  background: var(--ai-brand-surface);
}
.assistant-panel :is(section, .assistant-body) h3:not(.pt-red):not(.iw-risk h3),
.assistant-panel .cl-advice-group.is-current h4 {
  color: var(--assistant-heading);
}
.assistant-panel .iw-risk h3 { color: #b53e38; }
.assistant-panel h3.pt-red { color: #c34646; }
.assistant-panel :is(.cl-ai-description, .ci-ai-caption, .tm-muted, .sw-muted, .ca-muted,
  .cl-ai-footer, .ci-ai-footnote, .tm-ai-disclaimer, .cm-assistant-footnote) {
  color: var(--assistant-muted);
}

/* Suggestions, citations and run details use solid pale purple surfaces. */
:is(.app-content, .modal, .wb-ai-dialog) :is(.ai-hero, .ai-brief, .notice.ai, .callout.ai,
  .ai-upload, .ai-card.human, .app-message-preview, .app-run-pulse, .app-run-result,
  .app-consult-question, .app-education-preview, .ae-evidence, .iw-disclaimer) {
  background: var(--ai-brand-wash);
  border-color: var(--assistant-border);
}
:is(.app-content, .modal, .wb-ai-dialog) :is(.ai-surface, .ai-panel):not(.assistant-panel),
:is(.app-content, .modal, .wb-ai-dialog) :is(.ac-ai-details, .rc-knowledge-ai, .re-path-ai, .ae-run) {
  background: var(--ai-brand-surface) !important;
  border-color: var(--assistant-border) !important;
}
.assistant-panel :is(.iw-ai-details, .tm-ai-run, .sw-run-details, .cm-ai-run, .pd-run,
  .rc-ai-run, .re-ai-result, .app-run-meta, .app-ai-disclaimer) {
  background: var(--ai-brand-wash);
  border-color: var(--assistant-border);
}
.assistant-panel :is(.iw-ai-details, .tm-ai-run, .sw-run-details, .cm-ai-run, .pd-run,
  .rc-ai-run, .re-ai-result) > summary,
:is(.app-content, .modal) :is(.ac-ai-details, .rc-knowledge-ai, .re-path-ai, .ae-run) > summary {
  color: var(--assistant-heading);
}
.assistant-panel .assistant-panel.app-run-panel { box-shadow: none; }
.assistant-panel .assistant-panel > .app-ai-head {
  background: var(--ai-brand-wash);
  border-color: var(--assistant-card-border);
}
.assistant-panel .assistant-panel :is(.app-agent-name, .app-ai-head h2) { color: var(--assistant-heading); }
.assistant-panel :is(textarea, input:not([type=checkbox]):not([type=radio])) {
  border-color: var(--assistant-border);
  background-color: #fdfcff;
  caret-color: var(--assistant-accent);
}
.assistant-panel :is(textarea, input):focus-visible {
  outline-color: var(--assistant-accent);
  border-color: var(--assistant-accent);
}

/* Secondary AI actions use solid purple text and borders. */
:is(.app-content, .modal, .wb-ai-dialog) .assistant-panel :is(section, .assistant-body, [data-ca-assistant-body])
  :is(.cs-button, .ci-button, .tm-button, .sw-button, .cm-button, .pt-button, .rc-button):not(:where(.red, .orange, .green)) {
  color: var(--assistant-accent);
  border-color: var(--assistant-border);
  background: #fff;
  box-shadow: none;
}
:is(.app-content, .modal, .wb-ai-dialog) .assistant-panel :is(section, .assistant-body, [data-ca-assistant-body])
  :is(.cs-button, .ci-button, .tm-button, .sw-button, .cm-button, .pt-button, .rc-button):not(:where(.red, .orange, .green)):hover:not(:disabled) {
  color: var(--assistant-accent-hover);
  border-color: var(--assistant-accent);
  background: var(--ai-brand-wash);
}
:is(.app-content, .modal, .wb-ai-dialog) :is(.pt-button.pt-lavender, .rc-button.rc-lavender,
  .ai-panel .btn.btn-ghost, .ai-surface .btn.btn-ghost) {
  color: var(--assistant-accent);
  background: var(--ai-brand-wash);
  border-color: var(--assistant-border);
}

/* Primary AI actions default to the solid purple of the selected chat menu. */
:is(.app-content, .modal, .wb-ai-dialog) :is(.btn.ai, .btn.purple, .wb-button.wb-purple,
  .cs-button.cs-purple, .rc-button.rc-purple, .pt-button.pt-purple, .cm-button.cm-purple,
  .sw-button.sw-ai-button, .tm-button.tm-ai-button),
:is(.app-content, .modal, .wb-ai-dialog) .assistant-panel :is(section, .assistant-body, [data-ca-assistant-body])
  :is(.ci-primary, .sw-primary, .sw-ai-button, .tm-ai-button, .cs-purple, .cm-purple, .pt-purple, .rc-purple,
  [data-cl-action="register-patient"], [data-ca="analyze"], [data-ca="record"]) {
  color: #fff;
  border-color: var(--assistant-accent);
  background: var(--ai-brand-action);
  box-shadow: none;
}
:is(.app-content, .modal, .wb-ai-dialog) :is(.btn.ai, .btn.purple, .wb-button.wb-purple,
  .cs-button.cs-purple, .rc-button.rc-purple, .pt-button.pt-purple, .cm-button.cm-purple,
  .sw-button.sw-ai-button, .tm-button.tm-ai-button):hover:not(:disabled),
:is(.app-content, .modal, .wb-ai-dialog) .assistant-panel :is(section, .assistant-body, [data-ca-assistant-body])
  :is(.ci-primary, .sw-primary, .sw-ai-button, .tm-ai-button, .cs-purple, .cm-purple, .pt-purple, .rc-purple,
  [data-cl-action="register-patient"], [data-ca="analyze"], [data-ca="record"]):hover:not(:disabled) {
  color: #fff;
  border-color: var(--assistant-accent-hover);
  background: var(--ai-brand-action-hover);
}
:is(.app-content, .modal, .wb-ai-dialog) :is(.btn.ai, .btn.purple, .wb-purple,
  .cs-purple, .rc-purple, .pt-purple, .cm-purple, .sw-ai-button, .tm-ai-button):focus-visible {
  outline: 2px solid var(--assistant-accent);
  outline-offset: 3px;
}
:is(.app-content, .modal, .wb-ai-dialog) :is(.btn.ai, .btn.purple) .ai-badge {
  color: inherit;
  border-color: transparent;
  background: transparent;
}

/* Avatar-bearing actions, including AI writing, share the portrait header gradient. */
:is(.app-content, .modal, .wb-ai-dialog) button:has(.ai-avatar) {
  --ai-brand-action: var(--ai-brand-gradient);
  --ai-brand-action-hover: var(--ai-brand-gradient);
  color: #fff;
  border-color: transparent;
  background: var(--ai-brand-gradient);
}

/* AI badges and numbered markers share the palette without recoloring risks. */
:is(.app-content, .modal, .wb-ai-dialog) :is(.ai-badge, .tag.ai, .tag.purple,
  .badge.purple, .status-tag.purple, .rc-tag.purple, .ai-spark, .ai-upload .ai-sphere),
.assistant-panel :is(.cl-ai-count, .ci-ai-count) {
  color: var(--assistant-accent);
  background: var(--ai-brand-wash);
  border-color: var(--assistant-border);
}
:is(.app-content, .modal, .wb-ai-dialog) .ai-badge > span { color: inherit; }
.assistant-panel .cl-ai-card h3 > b,
.assistant-panel :is(.ci-ai-number, .sw-number),
:is(.app-content, .modal, .wb-ai-dialog) :is(.app-run-event > i, .app-ai-empty > span,
  .ai-card.numbered > b, .app-network__hub) {
  color: #fff;
  background: var(--ai-brand-action);
}
:is(.app-content, .modal, .wb-ai-dialog) :is(.progress.purple > i, .progress.purple > span,
  .ai-card .mini-bars i),
:is(.app-content, .modal, .wb-ai-dialog) .ai-panel::before { background: var(--assistant-accent); }
:is(.app-content, .modal, .wb-ai-dialog) .ai-icon.ai-avatar { border-color: var(--assistant-border); }
.assistant-panel > :is(header, .wb-card-heading, .app-ai-head) .ai-icon.ai-avatar { border-color: #fff; }

/* Live communication: quotation, suggestions, sources and AI message identity. */
.ca-assistant .ca-live-status {
  color: var(--assistant-muted);
  background: var(--ai-brand-wash);
  border-color: var(--assistant-card-border);
}
.ca-assistant .ca-statement > p {
  color: #4e4266;
  background: var(--ai-brand-wash);
  box-shadow: inset 3px 0 0 var(--assistant-accent);
}
.ca-assistant :is(.ca-statement, .ca-sources) { border-color: var(--assistant-card-border); }
.ca-assistant .ca-sources { background: var(--ai-brand-surface); }
.ca-assistant .ca-sources summary { color: var(--assistant-accent); }
.ca-assistant .sw-suggestion { background: var(--ai-brand-surface); border-color: var(--assistant-card-border); }
.assistant-panel .sw-care-flow > div > span { color: var(--assistant-accent); background: var(--ai-brand-wash); }
.assistant-panel .sw-care-flow > div::after { color: var(--assistant-accent); }
.sw-message[data-role="assistant"] .sw-staff-avatar { color: #fff; background: var(--ai-brand-action); border-color: var(--assistant-border); }
.sw-message[data-role="assistant"] .sw-bubble { color: #4e4266; background: var(--ai-brand-wash); box-shadow: inset 0 0 0 1px var(--assistant-card-border); }
.sw-message[data-role="assistant"] .sw-care-sender { color: var(--assistant-accent); }

/* Other AI entry points: resource generation, employee cards and dashboards. */
:is(.app-content, .modal, .wb-ai-dialog) :is(.ai-surface:not(.assistant-panel) > .panel-head,
  .app-agent-network > .panel-head, .ae-workspace > header, .wb-ai-dialog > header) {
  color: var(--assistant-heading);
  background: var(--ai-brand-wash);
  border-color: var(--assistant-card-border);
}
.app-network article { background: var(--ai-brand-surface); border-color: var(--assistant-border); }
.app-network::before { border-color: var(--assistant-border); }
:is(.app-content, .modal, .wb-ai-dialog) :is(.ae-evidence strong, .ae-workspace > header h2,
  .ai-surface > .panel-head h2, .app-agent-network > .panel-head h2) { color: var(--assistant-heading); }
.ae-choices .rc-button.active,
.assistant-panel .re-assistant-tabs .rc-button.active {
  color: var(--assistant-accent);
  background: var(--ai-brand-wash);
  border-color: var(--assistant-border);
}
.assistant-panel .re-assistant-tabs .rc-button.active { border-bottom-color: var(--assistant-accent); }
:is(.app-content, .modal, .wb-ai-dialog) .tabs button:is(.ai-filter, [data-filter="ai"], [data-tab-target="ai-panel-settings"]).active::after {
  background: var(--assistant-accent);
}
