/* CDS VEI v27.3.21 — seletor de aparência no CMS Master.
 * FIX: temas alteram somente cores, transparência e intensidade visual;
 * layout, dimensões, tipografia e conteúdo permanecem intactos. */
:root {
  --cds-theme-accent: #67e8f9;
  --cds-theme-accent-rgb: 103, 232, 249;
  --cds-theme-surface: rgba(5, 12, 23, .78);
  --cds-theme-surface-strong: rgba(3, 9, 18, .94);
  --cds-theme-border: rgba(103, 232, 249, .22);
  --cds-theme-muted: #94a3b8;
}

/* O modo original não recebe sobrescritas. */
html[data-cds-theme="glass90"] {
  --cds-theme-accent: #8be9ff;
  --cds-theme-accent-rgb: 139, 233, 255;
  --cds-theme-surface: rgba(8, 18, 32, .10);
  --cds-theme-surface-strong: rgba(4, 12, 24, .18);
  --cds-theme-border: rgba(216, 244, 255, .34);
  --cds-theme-muted: #b9c8d8;
}
html[data-cds-theme="global"] {
  --cds-theme-accent: #d6dde7;
  --cds-theme-accent-rgb: 214, 221, 231;
  --cds-theme-surface: rgba(18, 23, 31, .88);
  --cds-theme-surface-strong: rgba(9, 13, 19, .96);
  --cds-theme-border: rgba(203, 213, 225, .20);
  --cds-theme-muted: #aeb8c6;
}
html[data-cds-theme="blue"] {
  --cds-theme-accent: #60a5fa;
  --cds-theme-accent-rgb: 96, 165, 250;
  --cds-theme-surface: rgba(6, 22, 43, .86);
  --cds-theme-surface-strong: rgba(3, 13, 29, .96);
  --cds-theme-border: rgba(96, 165, 250, .28);
  --cds-theme-muted: #a9bdd5;
}
html[data-cds-theme="soft"] {
  --cds-theme-accent: #9dd7ea;
  --cds-theme-accent-rgb: 157, 215, 234;
  --cds-theme-surface: rgba(14, 24, 38, .84);
  --cds-theme-surface-strong: rgba(8, 16, 29, .95);
  --cds-theme-border: rgba(157, 215, 234, .23);
  --cds-theme-muted: #b5c3d4;
}

html[data-cds-theme]:not([data-cds-theme="original"]) body {
  background-color: var(--cds-theme-surface-strong) !important;
}
html[data-cds-theme="glass90"] body {
  background: radial-gradient(circle at 20% 12%, #15304a 0, #07111f 38%, #020711 100%) !important;
}
html[data-cds-theme="global"] body {
  background: linear-gradient(145deg, #11161d, #070a0f 72%) !important;
}
html[data-cds-theme="blue"] body {
  background: radial-gradient(circle at 18% 10%, #0d315a, #061426 42%, #020813 100%) !important;
}
html[data-cds-theme="soft"] body {
  background: radial-gradient(circle at 16% 9%, #203047, #0c1728 45%, #07101d 100%) !important;
}

html[data-cds-theme]:not([data-cds-theme="original"]) :is(
  #main-sidebar,.glass-panel,.enterprise-glass,.powerbi-card,.enterprise-kpi,
  .kpi-card,.metric-card,.stat-card,.value-card,.total-card,
  .cds-analytics-glass-card,.report-chart-card,.dashboard-card,
  .analytics-card,.summary-card,.glass-card,.cms-panel
) {
  background-color: var(--cds-theme-surface) !important;
  border-color: var(--cds-theme-border) !important;
}
html[data-cds-theme="glass90"] :is(
  #main-sidebar,.glass-panel,.enterprise-glass,.powerbi-card,.enterprise-kpi,
  .kpi-card,.metric-card,.stat-card,.value-card,.total-card,
  .cds-analytics-glass-card,.report-chart-card,.dashboard-card,
  .analytics-card,.summary-card,.glass-card,.cms-panel
) {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.025)) !important;
  -webkit-backdrop-filter: blur(30px) saturate(118%) !important;
  backdrop-filter: blur(30px) saturate(118%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 30px rgba(0,0,0,.24) !important;
}

html[data-cds-theme]:not([data-cds-theme="original"]):not([data-cds-theme="soft"]) [data-color] {
  --mc-color: var(--cds-theme-accent-rgb) !important;
}
html[data-cds-theme]:not([data-cds-theme="original"]):not([data-cds-theme="soft"]) :is(
  [class*="text-blue-"],[class*="text-cyan-"],[class*="text-emerald-"],
  [class*="text-purple-"],[class*="text-orange-"],[class*="text-amber-"],
  [class*="text-pink-"]
) { color: var(--cds-theme-accent) !important; }
html[data-cds-theme]:not([data-cds-theme="original"]):not([data-cds-theme="soft"]) :is(
  [class*="border-blue-"],[class*="border-cyan-"],[class*="border-emerald-"],
  [class*="border-purple-"],[class*="border-orange-"],[class*="border-amber-"],
  [class*="border-pink-"]
) { border-color: var(--cds-theme-border) !important; }
html[data-cds-theme]:not([data-cds-theme="original"]) :is(.text-slate-300,.text-slate-400,.text-gray-400) {
  color: var(--cds-theme-muted) !important;
}

/* Tons leves mantêm diferenciação, com menor saturação. */
html[data-cds-theme="soft"] [data-color="blue"],
html[data-cds-theme="soft"] [data-color="cyan"] { --mc-color: 139, 202, 224 !important; }
html[data-cds-theme="soft"] [data-color="emerald"] { --mc-color: 137, 205, 178 !important; }
html[data-cds-theme="soft"] [data-color="purple"] { --mc-color: 190, 167, 220 !important; }
html[data-cds-theme="soft"] [data-color="orange"],
html[data-cds-theme="soft"] [data-color="amber"] { --mc-color: 224, 185, 132 !important; }
html[data-cds-theme="soft"] [data-color="red"],
html[data-cds-theme="soft"] [data-color="pink"] { --mc-color: 218, 151, 168 !important; }

/* Menos efeitos nos modos solicitados, sem retirar feedback de foco e clique. */
html[data-cds-theme="glass90"] :is(.glass-panel,.powerbi-card,.enterprise-kpi,.menu-card)::before,
html[data-cds-theme="glass90"] :is(.glass-panel,.powerbi-card,.enterprise-kpi,.menu-card)::after,
html[data-cds-theme="global"] :is(.glass-panel,.powerbi-card,.enterprise-kpi,.menu-card)::before,
html[data-cds-theme="global"] :is(.glass-panel,.powerbi-card,.enterprise-kpi,.menu-card)::after {
  animation: none !important;
}

/* Seletor no CMS Master. */
.cds-theme-selector {
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid rgba(103,232,249,.20);
  border-radius: 16px;
  background: rgba(0,0,0,.28);
}
.cds-theme-selector__title { margin: 0; color: #a5f3fc; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cds-theme-selector__hint { margin: 4px 0 10px; color: #94a3b8; font-size: 11px; }
.cds-theme-selector__options { display: grid; grid-template-columns: repeat(5,minmax(118px,1fr)); gap: 8px; }
.cds-theme-option {
  min-height: 58px; padding: 9px 10px; border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px; background: rgba(15,23,42,.74); color: #dbeafe;
  text-align: left; cursor: pointer;
}
.cds-theme-option:hover,.cds-theme-option:focus-visible { border-color: rgba(103,232,249,.58); outline: none; }
.cds-theme-option:focus-visible { outline: 2px solid #e2e8f0 !important; outline-offset: 2px; }
.cds-theme-option[aria-pressed="true"] { border-color: #67e8f9; box-shadow: 0 0 0 2px rgba(103,232,249,.16); }
.cds-theme-option__row { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; }
.cds-theme-option__swatch { width: 15px; height: 15px; flex: 0 0 15px; border-radius: 50%; border: 1px solid rgba(255,255,255,.55); background: var(--theme-swatch); }
.cds-theme-option__desc { display: block; margin-top: 4px; color: #94a3b8; font-size: 9px; line-height: 1.25; }
@media (max-width: 760px) { .cds-theme-selector__options { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .cds-theme-selector__options { grid-template-columns: 1fr; } }

/* FIX: paleta de gráficos e imagens da marca sem alterar dados ou a posição
 * dos elementos fixos. Não aplicar filtros a body/containers do portal. */
html[data-cds-theme="global"] :is(canvas[id*="chart"],img[src*="brand-"],.menu-icon-3d,.powerbi-card .rounded-full) { filter: grayscale(1) !important; }
html[data-cds-theme="blue"] :is(canvas[id*="chart"],img[src*="brand-"],.menu-icon-3d,.powerbi-card .rounded-full) { filter: grayscale(1) sepia(1) saturate(3) hue-rotate(175deg) !important; }
html[data-cds-theme="soft"] :is(canvas[id*="chart"],img[src*="brand-"],.menu-icon-3d,.powerbi-card .rounded-full) { filter: saturate(.32) !important; }
html[data-cds-theme="glass90"] :is(canvas[id*="chart"],img[src*="brand-"],.menu-icon-3d,.powerbi-card .rounded-full) { filter: saturate(.28) !important; }

/* FIX v27.3.23: remover o borrão branco atrás de todos os cartões.
 * Mantém a superfície escura, a borda e as cores controladas pelo tema. */
:is(
  .glass-enhance,.glass-enhance-hover,.glass-panel,.enterprise-glass,
  .enterprise-kpi,.kpi-card,.metric-card,.stat-card,.value-card,.total-card,
  .powerbi-card,.cds-analytics-glass-card,.report-chart-card,.dashboard-card,
  .analytics-card,.summary-card,.glass-card,.menu-card
) {
  background-image: linear-gradient(145deg, rgba(19,28,42,.80), rgba(3,9,19,.94)) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.30), inset 0 1px 0 rgba(148,163,184,.10) !important;
}
:is(
  .glass-enhance,.glass-enhance-hover,.glass-panel,.enterprise-glass,
  .enterprise-kpi,.kpi-card,.metric-card,.stat-card,.value-card,.total-card,
  .powerbi-card,.cds-analytics-glass-card,.report-chart-card,.dashboard-card,
  .analytics-card,.summary-card,.glass-card,.menu-card
)::before,
:is(
  .glass-enhance,.glass-enhance-hover,.glass-panel,.enterprise-glass,
  .enterprise-kpi,.kpi-card,.metric-card,.stat-card,.value-card,.total-card,
  .powerbi-card,.cds-analytics-glass-card,.report-chart-card,.dashboard-card,
  .analytics-card,.summary-card,.glass-card,.menu-card
)::after {
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}
:is(
  .glass-enhance,.glass-enhance-hover,.glass-panel,.enterprise-glass,
  .enterprise-kpi,.kpi-card,.metric-card,.stat-card,.value-card,.total-card,
  .powerbi-card,.cds-analytics-glass-card,.report-chart-card,.dashboard-card,
  .analytics-card,.summary-card,.glass-card
) :is(.led-blink,.animate-pulse,.card-pulse,.bg-pulse,.card-shimmer,.glass-shimmer,.background-pulse) {
  animation: none !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
