/* Shared semantic palette, loaded after component styles. */
:root {
    color-scheme: light;
    --bg-primary: #e6eaf0;
    --bg-secondary: #f3f5f8;
    --bg-card: #fafbfd;
    --bg-hover: #e1e6ee;
    --surface: var(--bg-card);
    --hover-bg: var(--bg-hover);
    --border: #c5cedb;
    --border-color: var(--border);
    --text-primary: #202b3b;
    --text-secondary: #526176;
    --accent: #5145ba;
    --accent-hover: #403599;
    --accent-gradient: var(--accent);
    --accent-soft: #e8e5f8;
    --accent-glow: transparent;
    --primary-color: var(--accent);
    --success: #196440;
    --success-soft: #e0eee6;
    --warning: #795012;
    --warning-soft: #f2e8d4;
    --danger: #a12f35;
    --danger-soft: #f5e3e5;
    --info: #235f88;
    --info-soft: #dfeaf3;
    --channel: var(--success);
    --channel-soft: var(--success-soft);
    --glass-bg: var(--bg-secondary);
    --glass-border: var(--border);
    --chat-canvas: #e2e8e7;
    --chat-incoming: #fafbfd;
    --chat-outgoing: #dcecdf;
    --shadow-sm: 0 1px 3px rgb(28 39 57 / 6%);
    --shadow-md: 0 6px 18px rgb(28 39 57 / 10%);
    --shadow-lg: 0 16px 40px rgb(28 39 57 / 18%);
}
html[data-theme="dark"] {
    color-scheme: dark;
    --bg-primary: #141a23;
    --bg-secondary: #1c2531;
    --bg-card: #242f3d;
    --bg-hover: #303d4e;
    --border: #46566c;
    --text-primary: #edf1f7;
    --text-secondary: #b1bed0;
    --accent: #baafff;
    --accent-hover: #cdc5ff;
    --accent-soft: #37324f;
    --success: #83d6a6;
    --success-soft: #243d33;
    --warning: #e7c17f;
    --warning-soft: #3e3526;
    --danger: #f3a2a8;
    --danger-soft: #442d35;
    --info: #98c9ee;
    --info-soft: #253b4e;
    --chat-canvas: #161f29;
    --chat-incoming: #293644;
    --chat-outgoing: #254338;
    --shadow-sm: 0 2px 4px rgb(0 0 0 / 16%);
    --shadow-md: 0 8px 24px rgb(0 0 0 / 22%);
    --shadow-lg: 0 18px 48px rgb(0 0 0 / 32%);
}
body[data-channel="instagram"] { --channel: #9c3665; --channel-soft: #f0e2ea; }
html[data-theme="dark"] body[data-channel="instagram"] { --channel: #eea8c8; --channel-soft: #412f40; }
::selection { background: var(--accent); color: var(--bg-primary); }
* { scrollbar-color: var(--border) var(--bg-primary); }
input, textarea { caret-color: var(--accent); }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    background-color: var(--bg-card); color: var(--text-primary); border-color: var(--border);
}
input::placeholder, textarea::placeholder { color: var(--text-secondary); opacity: 1; }
:is(button, a, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--accent); outline-offset: 3px;
}
.theme-control { display: grid; gap: 6px; padding: 8px 10px; }
.theme-control label { font-size: 12px; font-weight: 600; color: var(--text-secondary); }
.theme-control select {
    width: 100%; min-height: 40px; padding: 8px 10px; border-radius: 8px;
    background: var(--bg-card); color: var(--text-primary); border: 1px solid var(--border);
}
.header { background: var(--bg-secondary); }
.column { background: var(--bg-hover); }
.column-header { background: transparent; }
.card { background: var(--bg-card); }
.card-footer, .card-score { opacity: 1; }
.ig-v3-evaluation {
    --ig-v3-surface: var(--bg-card); --ig-v3-subtle: var(--bg-secondary);
    --ig-v3-accent-soft: var(--accent-soft); --ig-v3-danger: var(--danger);
    --ig-v3-danger-soft: var(--danger-soft); --ig-v3-success: var(--success);
    --ig-v3-success-soft: var(--success-soft);
}
.chat-container, .inbox-chat-messages { background: var(--chat-canvas); background-image: none; }
.chat-bubble.paciente { background: var(--chat-incoming); color: var(--text-primary); }
.chat-bubble.clinica { background: var(--chat-outgoing); color: var(--text-primary); }
.chat-bubble.paciente::before { border-right-color: var(--chat-incoming); }
.chat-bubble.clinica::before { border-left-color: var(--chat-outgoing); }
.chat-bubble:is(.paciente, .clinica) :is(.chat-bubble-header, .chat-bubble-meta) { color: var(--text-secondary); }
.chat-bubble.clinica { box-shadow: var(--shadow-sm); }
.chat-input-area, .chat-input-row textarea, .inbox-chat-input-area textarea,
.chat-system-msg span { background: var(--bg-secondary); color: var(--text-primary); }
.beatriz-eyebrow, .beatriz-central-tab.active, .beatriz-central-filter.active,
.beatriz-fact-proposal { color: var(--warning); }
.beatriz-state[data-active="true"] { color: var(--success); }
.beatriz-notice[data-tone="error"], .beatriz-cancel { color: var(--danger); }
.beatriz-slot-remove { color: var(--danger); }
.beatriz-context-status[data-pending="true"] { color: var(--warning); }
.beatriz-strategy-active { color: var(--info); }
.beatriz-panel .beatriz-remove-slot { color: var(--danger); }
.lead-drawer-unsaved { color: var(--warning); }
html[data-theme="dark"] :is(.btn-primary, .btn-new-lead, .brand-mark, .btn-table,
.chat-btn-enviar, .inbox-send-btn) { color: #171b27 !important; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}
/* Ownership is visible without moving the patient's funnel stage. */
.card-status-badge.status-review {
    background: var(--warning-soft);
    color: var(--warning);
    border: 1px solid currentColor;
}
.card-status-badge.status-beatriz {
    background: var(--accent-soft);
    color: var(--accent);
    border: 1px solid currentColor;
}
.card-status-badge.status-team {
    background: var(--info-soft);
    color: var(--info);
    border: 1px solid currentColor;
}
.card-status-badge.status-lara {
    background: var(--success-soft);
    color: var(--success);
    border: 1px solid currentColor;
}
