:root, [data-theme="dark"] {
  --sedna-bg: #0f172a;
  --sedna-card: #1e293b;
  --sedna-text: #e2e8f0;
  --sedna-muted: #94a3b8;
  --sedna-line: #334155;
  --sedna-scrollbar-track: rgba(15, 23, 42, 0.28);
  --sedna-scrollbar-thumb: rgba(100, 116, 139, 0.68);
  --sedna-scrollbar-thumb-hover: rgba(129, 140, 248, 0.82);
  /* Compatibility aliases used by older feature pages. */
  --bg: #0f172a;
  --bg-color: #0f172a;
  --panel-bg: #1e293b;
  --panel-soft: #172033;
  --card-bg: #1e293b;
  --text: #e2e8f0;
  --text-color: #e2e8f0;
  --muted: #94a3b8;
  --muted-color: #94a3b8;
  --line: #334155;
  --border-color: #334155;
  --input-bg: #1e293b;
  --panel: #1e293b;
  --panel-2: #172033;
  --glass: rgba(255, 255, 255, 0.03);
  --glass-hover: rgba(255, 255, 255, 0.08);
  --border: rgba(255, 255, 255, 0.08);
  --text-main: #e2e8f0;
  --text-dim: #94a3b8;
  --ink: #e2e8f0;
  --card: #1e293b;
  --soft: #1e293b;
  --card-header-bg: #1e3a5f;
  --hover-bg: #25344a;
}

[data-theme="light"] {
  --sedna-bg: #f3f6fb;
  --sedna-card: #ffffff;
  --sedna-text: #172033;
  --sedna-muted: #526178;
  --sedna-line: #d8e0ec;
  --sedna-scrollbar-track: #eef2f7;
  --sedna-scrollbar-thumb: #c2ccd9;
  --sedna-scrollbar-thumb-hover: #94a3b8;
  --bg: #f3f6fb;
  --bg-color: #f3f6fb;
  --panel-bg: #ffffff;
  --panel-soft: #f8fafc;
  --card-bg: #ffffff;
  --text: #172033;
  --text-color: #172033;
  --muted: #526178;
  --muted-color: #526178;
  --line: #d8e0ec;
  --border-color: #d8e0ec;
  --input-bg: #ffffff;
  --panel: #ffffff;
  --panel-2: #f1f5f9;
  --glass: #ffffff;
  --glass-hover: #f8fafc;
  --border: #d8e0ec;
  --text-main: #172033;
  --text-dim: #526178;
  --ink: #172033;
  --card: #ffffff;
  --soft: #eef2f7;
  --card-header-bg: #eef2f7;
  --hover-bg: #eef4fb;
}

/* One scrollbar language for every page, modal, table and embedded panel. */
* {
  scrollbar-width: thin !important;
  scrollbar-color: var(--sedna-scrollbar-thumb) var(--sedna-scrollbar-track) !important;
}
*::-webkit-scrollbar {
  width: 9px !important;
  height: 9px !important;
}
*::-webkit-scrollbar-track {
  background: var(--sedna-scrollbar-track) !important;
}
*::-webkit-scrollbar-thumb {
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background: var(--sedna-scrollbar-thumb) !important;
  background-clip: padding-box !important;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--sedna-scrollbar-thumb-hover) !important;
  background-clip: padding-box !important;
}
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }
body {
  background: var(--sedna-bg);
  color: var(--sedna-text);
}
[data-theme="light"] body {
  background-image: none !important;
}
.card, .panel, .modal-content {
  background: var(--sedna-card);
  color: var(--sedna-text);
  border-color: var(--sedna-line);
}

[data-theme="light"] .widget,
[data-theme="light"] .filter-panel,
[data-theme="light"] .table-container,
[data-theme="light"] .list-card {
  background-color: var(--sedna-card);
  color: var(--sedna-text);
  border-color: var(--sedna-line);
}
[data-theme="light"] .muted,
[data-theme="light"] .subtitle,
[data-theme="light"] .meta,
[data-theme="light"] .hint,
[data-theme="light"] .description,
[data-theme="light"] .caption {
  color: var(--sedna-muted);
}

/* Shared surfaces used by legacy pages which pre-date the theme contract. */
[data-theme="light"] .page-header,
[data-theme="light"] .toolbar,
[data-theme="light"] .filter-bar,
[data-theme="light"] .filters,
[data-theme="light"] .table-wrap,
[data-theme="light"] .data-table,
[data-theme="light"] .modal-content {
  background-color: var(--sedna-card);
  color: var(--sedna-text);
  border-color: var(--sedna-line);
}

/* === SEDNA MIC BTN STANDARD === */
.sedna-mic-btn {
  position: fixed;
  top: 20px;
  left: 80px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1f3a93 0%, #4a6fc2 100%);
  color: white;
  border: none;
  box-shadow: 0 6px 20px rgba(31, 58, 147, 0.4);
  cursor: pointer;
  z-index: 9999;
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sedna-mic-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 25px rgba(31, 58, 147, 0.6);
}
/* Listening : rose pâle + pulse rose */
.sedna-mic-btn.is-listening,
.sedna-mic-btn.recording {
  background: #fce4ec;
  animation: pulse-pink 1.2s infinite;
}
/* Speaking : bleu pâle + pulse bleu */
.sedna-mic-btn.is-speaking {
  background: #e3f2fd;
  animation: pulse-blue 1.2s infinite;
}
/* Connecting : orange */
.sedna-mic-btn.connecting {
  background: #f0ad4e;
}
@keyframes pulse-pink {
  0%, 100% { box-shadow: 0 0 0 0 rgba(244, 143, 177, 0.6); }
  50%       { box-shadow: 0 0 0 12px rgba(244, 143, 177, 0); }
}
@keyframes pulse-blue {
  0%, 100% { box-shadow: 0 0 0 0 rgba(100, 181, 246, 0.6); }
  50%       { box-shadow: 0 0 0 12px rgba(100, 181, 246, 0); }
}
/* Override pour les boutons micro inline (dans des barres de filtre) */
.voice-btn.sedna-mic-btn {
  position: static;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  top: auto;
  left: auto;
  font-size: inherit;
}
