/* TiTi Chat — dark theme polish for chat, cards, timeline, selectors */
:root,
[data-theme="dark"] {
  --titi-bg: #0b1117;
  --titi-surface: #111a23;
  --titi-surface-2: #17212c;
  --titi-surface-hover: #1d2a36;
  --titi-text: #f4f7fb;
  --titi-text-secondary: #c7d2df;
  --titi-text-muted: #8ea0b5;
  --titi-border: #2a3848;
  --titi-accent: #36c28a;
  --titi-danger: #ff6b6b;
  --titi-warning: #f6b84b;
}

.msg-bubble-assistant {
  background: var(--titi-surface-2, var(--surface-2, #17212c));
  border: 1px solid var(--titi-border, #2a3848);
  color: var(--titi-text, #f4f7fb);
}

.msg-bubble-user {
  background: #1a3d2e;
  color: var(--titi-text, #f4f7fb);
}

.msg-ai-meta,
.msg-titi-meta {
  color: var(--titi-text-secondary, #c7d2df) !important;
  font-size: 12px;
  margin-top: 8px;
  padding: 6px 10px;
  background: rgba(54, 194, 138, 0.08);
  border-radius: 8px;
  border: 1px solid rgba(54, 194, 138, 0.2);
}

.msg-titi-meta {
  font-weight: 500;
}

.ai-mode-btn {
  min-width: 148px;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ai-mode-menu {
  min-width: 280px;
  max-height: 70vh;
  overflow-y: auto;
}

.titi-core-item.is-active,
.titi-expert-item.is-active,
.ai-model-item.is-active {
  border-color: var(--titi-accent, #36c28a);
  background: var(--titi-surface-hover, #1d2a36);
}

.composer-menu-desc,
.muted,
.activity-msg,
.activity-agent,
.activity-time {
  color: var(--titi-text-muted, #8ea0b5) !important;
}

.composer-menu-name,
.composer-quick-label,
.activity-summary {
  color: var(--titi-text, #f4f7fb) !important;
}

.msg-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.msg-action-row .btn-xs {
  font-size: 11.5px;
  padding: 4px 10px;
  border-radius: 8px;
}

.msg-job-actions .btn {
  border-color: var(--titi-accent, #36c28a);
  color: var(--titi-text, #f4f7fb);
}

.msg-job-actions .btn[data-job-action="cancel"] {
  border-color: var(--titi-danger, #ff6b6b);
  color: #ffc9c9;
}

.activity-timeline-wrap {
  margin-top: 10px;
  padding: 8px 10px;
  background: var(--titi-surface, #111a23);
  border: 1px solid var(--titi-border, #2a3848);
  border-radius: 10px;
}

.activity-timeline-summary {
  cursor: pointer;
  color: var(--titi-text-secondary, #c7d2df);
  font-weight: 600;
  font-size: 12px;
}

.activity-item-live {
  color: var(--titi-text-secondary, #c7d2df);
}

.activity-status-running .activity-icon {
  color: var(--titi-accent, #36c28a);
}

.activity-status-failed .activity-icon,
.activity-status-error .activity-icon {
  color: var(--titi-danger, #ff6b6b);
}

.activity-status-completed .activity-icon,
.activity-status-success .activity-icon,
.activity-status-done .activity-icon {
  color: var(--titi-accent, #36c28a);
}

.activity-waiting {
  font-size: 12px;
  padding: 6px 0;
}

.msg-ctx-next {
  display: none !important;
}

.text-black,
.text-dark,
[class*="text-black"],
[class*="text-dark"] {
  color: var(--titi-text, #f4f7fb) !important;
}

.bg-white,
[class*="bg-white"] {
  background-color: var(--titi-surface, #111a23) !important;
}

.composer-quick-card:hover,
.composer-menu-item:hover:not(:disabled) {
  background: var(--titi-surface-hover, #1d2a36);
}

.btn:disabled {
  opacity: 0.5;
  color: var(--titi-text-muted, #8ea0b5);
}

.md-body,
.msg-answer {
  color: var(--titi-text, #f4f7fb);
}

.gateway-internal-hidden,
#gatewayLiveTimeline {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gateway-live-timeline {
  display: none !important;
}
