:root {
  color-scheme: dark;
  --doc-bg: #02040b;
  --doc-bg-2: #060d18;
  --doc-surface: rgba(8,13,22,0.97);
  --doc-surface-2: rgba(12,18,28,0.94);
  --doc-surface-3: rgba(16,24,36,0.90);
  --doc-card: rgba(10,16,26,0.88);
  --doc-line: rgba(255,255,255,0.07);
  --doc-line-strong: rgba(255,255,255,0.13);
  --doc-text: #edf4ff;
  --doc-muted: #7a8fa8;
  --doc-soft: #b4c4d4;
  --doc-green: #00e896;
  --doc-blue: #4aaaff;
  --doc-amber: #ffcc44;
  --doc-orange: #ff7a32;
  --doc-red: #ff4455;
  --doc-violet: #a87af5;
  --doc-cyan: #26ddd4;
  --doc-magenta: #f06ab0;
  --doc-radius: 16px;
  --doc-radius-sm: 10px;
  --doc-shadow: 0 4px 28px rgba(0,0,0,0.52), 0 1px 3px rgba(0,0,0,0.28);
  --doc-shadow-lg: 0 16px 64px rgba(0,0,0,0.58);
  --status-excellent: #00e896;
  --status-good: #4aaaff;
  --status-attention: #ffcc44;
  --status-partial: #ff7a32;
  --status-critical: #ff4455;
  --status-empty: #7a8fa8;
  --type-run: #ff7a32;
  --type-strength: #ff4455;
  --type-cycling: #00e896;
  --type-mobility: #4aaaff;
  --type-recovery: #a87af5;
  --type-race: #0a0f1a;
  --type-race-gold: #ffcc44;
  --type-body: #7a8fa8;
  --type-rest: #26ddd4;
}

html[data-doc-theme="light-purple"] {
  color-scheme: light;
  --doc-bg: #f8f5ff;
  --doc-bg-2: #eef7ff;
  --doc-surface: rgba(255,255,255,0.78);
  --doc-surface-2: rgba(255,255,255,0.86);
  --doc-surface-3: rgba(248,245,255,0.94);
  --doc-card: rgba(255,255,255,0.76);
  --doc-line: rgba(91,78,140,0.14);
  --doc-line-strong: rgba(91,78,140,0.26);
  --doc-text: #1b1533;
  --doc-muted: #71688e;
  --doc-soft: #352a5f;
  --doc-green: #34d399;
  --doc-blue: #2563eb;
  --doc-amber: #f59e0b;
  --doc-orange: #f97316;
  --doc-red: #ef4444;
  --doc-violet: #8b5cf6;
  --doc-cyan: #06b6d4;
  --doc-magenta: #db2777;
  --doc-shadow: 0 22px 58px rgba(74,58,140,0.16);
}

html[data-doc-theme="dark-premium"] {
  color-scheme: dark;
}

html[data-doc-theme] body {
  background:
    radial-gradient(ellipse 80% 50% at 20% -8%, rgba(0,232,150,0.09), transparent 55%),
    radial-gradient(ellipse 55% 35% at 90% 2%, rgba(74,170,255,0.08), transparent 50%),
    linear-gradient(180deg, var(--doc-bg) 0%, var(--doc-bg-2) 50%, var(--doc-bg) 100%) !important;
  color: var(--doc-text) !important;
}

html[data-doc-theme="light-purple"] body {
  background:
    linear-gradient(135deg, rgba(139,92,246,0.17), rgba(6,182,212,0.12) 42%, rgba(52,211,153,0.12)),
    radial-gradient(circle at 10% 0%, rgba(219,39,119,0.16), transparent 30%),
    linear-gradient(180deg, #fbfaff 0%, #f2f7ff 52%, #f8f5ff 100%) !important;
}

.doc-shell,
.app {
  background: transparent;
}

.sidebar {
  border-right: 1px solid var(--doc-line) !important;
  background: color-mix(in srgb, var(--doc-bg) 82%, transparent) !important;
  backdrop-filter: blur(22px);
}

html[data-doc-theme="light-purple"] .sidebar {
  background: rgba(255,255,255,0.82) !important;
}

.brand,
.nav-item,
.mobile-nav a {
  color: var(--doc-soft) !important;
}

.sidebar .brand {
  flex-direction: column;
  align-items: flex-start !important;
  gap: 8px !important;
  padding-bottom: 26px !important;
}

.brand-mark {
  border-color: color-mix(in srgb, var(--doc-green) 34%, transparent) !important;
  background: linear-gradient(145deg, color-mix(in srgb, var(--doc-green) 16%, transparent), color-mix(in srgb, var(--doc-blue) 10%, transparent)) !important;
  color: var(--doc-green) !important;
  border-radius: 12px !important;
}

.brand-logo {
  width: 156px;
  height: 74px;
  flex: 0 0 auto;
  object-fit: contain;
  object-position: left center;
  border-radius: 0;
  filter: drop-shadow(0 0 18px color-mix(in srgb, var(--doc-blue) 28%, transparent));
}

.brand-title strong {
  font-size: 1rem;
  line-height: 1.05;
}

.nav {
  gap: 8px !important;
}

.brand-title span,
.nav-label,
.muted,
.hint,
.subtitle,
.eyebrow,
.metric-label,
.plan-item span,
.alert span,
.cloud-stat small,
.cloud-stat span,
.summary-card span,
.summary-card small {
  color: var(--doc-muted) !important;
}

.nav-item {
  min-height: 48px !important;
  border-radius: var(--doc-radius) !important;
}

.nav-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--doc-text) 5%, transparent);
  color: var(--doc-muted);
  font-size: 0.84rem;
  line-height: 1;
  transition: box-shadow 0.2s, color 0.2s, background 0.2s;
}

.nav-item.active,
.mobile-nav a.active {
  background: linear-gradient(135deg, rgba(0,232,150,0.13), rgba(0,232,150,0.05)) !important;
  border-color: rgba(0,232,150,0.28) !important;
  box-shadow: 0 0 20px rgba(0,232,150,0.08) !important;
  color: var(--doc-text) !important;
}

.nav-item.active .nav-icon {
  color: var(--doc-green);
  background: rgba(0,232,150,0.16);
  box-shadow: 0 0 12px rgba(0,232,150,0.35);
}

.nav-item:hover,
.nav-item:focus-visible {
  border-color: var(--doc-line-strong) !important;
  background: color-mix(in srgb, var(--doc-text) 5%, transparent) !important;
}

.card,
.panel,
.metric,
.task-card,
.summary-card,
.cloud-stat,
.mini,
.nutri-box,
.plan-item,
.alert,
.modal,
.detail,
.mini-month,
.day,
.calendar,
.filters,
.button,
.filter-chip,
.flow-option,
input,
select,
textarea,
.command-box {
  border-color: var(--doc-line) !important;
  border-radius: var(--doc-radius) !important;
  color: var(--doc-text) !important;
  box-shadow: var(--doc-shadow), inset 0 1px 0 rgba(255,255,255,0.06);
}

.card,
.panel,
.metric,
.task-card,
.summary-card,
.cloud-stat,
.mini,
.nutri-box,
.plan-item,
.alert,
.modal,
.detail,
.mini-month {
  background: var(--doc-card) !important;
  backdrop-filter: saturate(180%) blur(22px);
}

.topbar {
  align-items: flex-start !important;
}

.doc-top-status {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 470px;
}

.doc-top-status span,
.doc-shell-kicker,
.doc-shell-status span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--doc-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--doc-text) 5%, transparent);
  color: var(--doc-muted);
  font-size: 0.78rem;
  font-weight: 760;
  white-space: nowrap;
}

.doc-live-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--doc-green);
  box-shadow: 0 0 0 2px rgba(0,232,150,0.22), 0 0 16px rgba(0,232,150,0.7);
  flex-shrink: 0;
}

.doc-live-dot.warn {
  background: var(--status-attention);
  box-shadow: 0 0 0 2px rgba(255,204,68,0.22), 0 0 14px rgba(255,204,68,0.65);
}

.doc-live-dot.ok {
  background: var(--doc-green);
}

.doc-shell-status {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 18px;
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid var(--doc-line);
  border-radius: var(--doc-radius);
  background: color-mix(in srgb, var(--doc-text) 4%, transparent);
  backdrop-filter: blur(16px);
}

.doc-shell-status-title {
  color: var(--doc-muted);
  font-size: 0.68rem;
  font-weight: 880;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sidebar-status {
  display: none !important;
}

.doc-shell-status strong {
  color: var(--doc-text);
  font-size: 0.88rem;
}

.doc-shell-status span {
  justify-content: flex-start;
  padding: 0;
  border: 0;
  background: transparent;
}

.doc-shell-status [data-doc-refresh-sidebar-mount] {
  display: flex;
}

.doc-shell-status .doc-refresh-button {
  min-height: 32px;
  padding: 0 10px;
  font-size: 0.72rem;
  box-shadow: none;
}

.doc-ask-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid rgba(0,232,150,0.32);
  border-radius: 999px;
  background: color-mix(in srgb, var(--doc-bg) 80%, transparent);
  color: var(--doc-text);
  box-shadow: 0 4px 28px rgba(0,0,0,0.5), 0 0 20px rgba(0,232,150,0.1);
  backdrop-filter: saturate(180%) blur(24px);
  font-weight: 760;
  font-size: 0.88rem;
  transition: background .2s, box-shadow .2s, border-color .2s;
}
.doc-ask-fab:hover {
  background: color-mix(in srgb, var(--doc-green) 10%, rgba(4,6,11,0.85));
  border-color: rgba(0,232,150,0.5);
  box-shadow: 0 4px 32px rgba(0,0,0,0.5), 0 0 28px rgba(0,232,150,0.18);
}

.hub-grid,
.submodule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.hub-card,
.submodule-card {
  min-height: 128px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--doc-line);
  border-radius: var(--doc-radius);
  background: var(--doc-card);
  color: var(--doc-text);
  box-shadow: var(--doc-shadow), inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter: saturate(180%) blur(22px);
}

.hub-card strong,
.submodule-card strong {
  display: block;
  margin-bottom: 6px;
}

.hub-card span,
.submodule-card span {
  color: var(--doc-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.hub-card,
.submodule-card {
  transition: border-color .2s, background .2s, box-shadow .2s;
}

.submodule-card[href]:hover,
.submodule-card[href]:focus-visible,
.hub-card[href]:hover,
.hub-card[href]:focus-visible {
  border-color: rgba(255,255,255,0.16);
  background: color-mix(in srgb, var(--doc-text) 8%, var(--doc-card));
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.09);
  outline: none;
}

.technical-only summary {
  cursor: pointer;
  color: var(--doc-soft);
  font-weight: 840;
}

.doc-hidden-home-section {
  display: none !important;
}

.doc-premium-panel {
  margin: 0 0 14px;
  padding: 20px;
  border: 1px solid var(--doc-line);
  border-radius: var(--doc-radius);
  background: var(--doc-card);
  box-shadow: var(--doc-shadow), inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter: saturate(180%) blur(22px);
}

.doc-premium-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.doc-premium-head h2 {
  margin: 0 0 5px;
  color: var(--doc-text);
  font-size: 1.1rem;
}

.doc-premium-head p,
.doc-premium-card p,
.doc-premium-bottom p {
  margin: 0;
  color: var(--doc-muted);
  line-height: 1.4;
}

.doc-premium-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.doc-premium-card,
.doc-premium-bottom article {
  min-height: 140px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--doc-line);
  border-radius: var(--doc-radius);
  background: color-mix(in srgb, var(--doc-text) 4%, transparent);
  box-shadow: var(--doc-shadow), inset 0 1px 0 rgba(255,255,255,0.05);
  transition: border-color .2s, background .2s;
}

.doc-premium-card span,
.doc-premium-bottom span {
  color: var(--doc-muted);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.doc-premium-card strong,
.doc-premium-bottom strong {
  color: var(--doc-text);
  font-size: clamp(1.7rem, 4vw, 2.4rem);
  line-height: 1;
}

.doc-premium-card strong small {
  color: var(--doc-green);
  font-size: 1rem;
}

.doc-premium-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.home-brand-logo {
  width: clamp(156px, 22vw, 230px);
  height: clamp(58px, 8vw, 86px);
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 0 26px color-mix(in srgb, var(--doc-blue) 26%, transparent));
}

.doc-premium-brand strong {
  display: block;
  color: var(--doc-text);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
}

.doc-premium-brand span {
  color: var(--doc-muted);
  font-size: 0.88rem;
}

.labs-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  min-width: 0;
}

.labs-brand img {
  width: 142px;
  height: 58px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 0 20px color-mix(in srgb, var(--doc-green) 22%, transparent));
}

.labs-brand > div {
  min-width: 0;
}

.labs-brand strong {
  display: block;
  color: var(--doc-text);
  font-size: 1.08rem;
  letter-spacing: 0.08em;
}

.labs-brand span {
  display: block;
  color: var(--doc-muted);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.doc-premium-card em {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--doc-green) 12%, transparent);
  color: var(--doc-green);
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 850;
}

.doc-premium-bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.doc-ask-panel {
  margin-bottom: 14px;
}

#docAskResponse {
  white-space: pre-line;
}

.button,
.filter-chip,
input,
select,
textarea,
.flow-option,
.close {
  background: var(--doc-surface-2) !important;
  color: var(--doc-text) !important;
}

.button.primary,
.badge {
  border-color: color-mix(in srgb, var(--doc-green) 34%, transparent) !important;
  background: color-mix(in srgb, var(--doc-green) 14%, transparent) !important;
  color: var(--doc-green) !important;
}

.sync-pill,
.trend,
.intensity,
.status {
  border-radius: 999px;
  background: color-mix(in srgb, var(--doc-text) 6%, transparent) !important;
  color: var(--doc-muted) !important;
}

.trend.good,
.status-executado,
.status-concluido,
.status-concluído,
.status-excelente {
  color: var(--status-excellent) !important;
  background: color-mix(in srgb, var(--status-excellent) 12%, transparent) !important;
}

.status-bom,
.status-substituido,
.status-substituído {
  color: var(--status-good) !important;
  background: color-mix(in srgb, var(--status-good) 13%, transparent) !important;
}

.trend.warn,
.status-atencao,
.status-atenção,
.status-reagendado,
.status-planejado {
  color: var(--status-attention) !important;
  background: color-mix(in srgb, var(--status-attention) 14%, transparent) !important;
}

.status-parcial,
.status-pendente-confirmacao,
.status-pendente-confirmação,
.status-ajustado {
  color: var(--status-partial) !important;
  background: color-mix(in srgb, var(--status-partial) 13%, transparent) !important;
}

.status-critico,
.status-crítico,
.status-perdido,
.status-cancelado {
  color: var(--status-critical) !important;
  background: color-mix(in srgb, var(--status-critical) 13%, transparent) !important;
}

.status-sem-dados {
  color: var(--status-empty) !important;
  background: color-mix(in srgb, var(--status-empty) 13%, transparent) !important;
}

.progress,
.mini-bar,
.adherence-bar {
  height: 5px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.07) !important;
}

.progress > i,
.mini-bar i {
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--doc-green), var(--doc-blue)) !important;
  box-shadow: 0 0 8px rgba(0,232,150,0.3) !important;
}

.calendar,
.weekdays,
.month-grid,
.week-view,
.year-view {
  background: transparent !important;
}

.weekday,
.day.muted,
.modal-head,
.filters {
  background: var(--doc-surface-2) !important;
  color: var(--doc-muted) !important;
}

.day.today {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--doc-blue) 52%, transparent) !important;
}

.today .day-number {
  background: var(--doc-blue) !important;
  color: #ffffff !important;
}

.type-corrida { border-left-color: var(--type-run) !important; background: color-mix(in srgb, var(--type-run) 12%, var(--doc-card)) !important; }
.type-forca, .type-força { border-left-color: var(--type-strength) !important; background: color-mix(in srgb, var(--type-strength) 12%, var(--doc-card)) !important; }
.type-ciclismo { border-left-color: var(--type-cycling) !important; background: color-mix(in srgb, var(--type-cycling) 12%, var(--doc-card)) !important; }
.type-mobilidade { border-left-color: var(--type-mobility) !important; background: color-mix(in srgb, var(--type-mobility) 12%, var(--doc-card)) !important; }
.type-recuperacao, .type-recuperação { border-left-color: var(--type-recovery) !important; background: color-mix(in srgb, var(--type-recovery) 12%, var(--doc-card)) !important; }
.type-prova { border-left-color: var(--type-race-gold) !important; background: color-mix(in srgb, var(--type-race) 85%, var(--doc-card)) !important; color: #fff !important; }
.type-bioimpedancia, .type-bioimpedância { border-left-color: var(--type-body) !important; background: color-mix(in srgb, var(--type-body) 12%, var(--doc-card)) !important; }
.type-descanso { border-left-color: var(--type-rest) !important; background: color-mix(in srgb, var(--type-rest) 15%, var(--doc-card)) !important; }

.type-corrida .event-icon { background: var(--type-run) !important; }
.type-forca .event-icon, .type-força .event-icon { background: var(--type-strength) !important; }
.type-ciclismo .event-icon { background: var(--type-cycling) !important; }
.type-mobilidade .event-icon { background: var(--type-mobility) !important; }
.type-recuperacao .event-icon, .type-recuperação .event-icon { background: var(--type-recovery) !important; }
.type-prova .event-icon { background: var(--type-race-gold) !important; color: #0a0f1a !important; }
.type-bioimpedancia .event-icon, .type-bioimpedância .event-icon { background: var(--type-body) !important; }
.type-descanso .event-icon { background: var(--type-rest) !important; color: #0a2a1e !important; }

html[data-doc-theme="light-purple"] .topbar:first-of-type,
html[data-doc-theme="light-purple"] .calendar-page-hero {
  border: 1px solid rgba(139,92,246,0.16);
  border-radius: var(--doc-radius);
  padding: 16px;
  background: linear-gradient(135deg, rgba(139,92,246,0.18), rgba(6,182,212,0.12), rgba(52,211,153,0.1));
  box-shadow: var(--doc-shadow);
}

.doc-theme-toggle {
  display: grid;
  gap: 10px;
}

.theme-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 12px;
  border: 1px solid var(--doc-line);
  border-radius: var(--doc-radius);
  background: var(--doc-card);
  color: var(--doc-text);
  cursor: pointer;
}

.theme-choice.active {
  border-color: color-mix(in srgb, var(--doc-violet) 42%, transparent);
  background: color-mix(in srgb, var(--doc-violet) 12%, var(--doc-card));
}

.mobile-nav {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  background: color-mix(in srgb, var(--doc-bg) 90%, transparent) !important;
  border-color: var(--doc-line) !important;
  backdrop-filter: blur(20px);
}

.mobile-nav a {
  gap: 2px;
}

.mobile-nav small {
  font: inherit;
  font-size: 0.64rem;
}

@media (max-width: 720px) {
  .brand-logo {
    width: 56px;
    height: 34px;
  }

  .sidebar {
    display: none !important;
  }

  .topbar {
    display: grid !important;
  }

  .doc-top-status {
    justify-content: flex-start;
    max-width: none;
  }

  .doc-top-status span {
    min-height: 30px;
    font-size: 0.72rem;
  }

  .hub-grid,
  .submodule-grid,
  .doc-premium-grid,
  .doc-premium-bottom {
    grid-template-columns: 1fr !important;
  }

  .doc-ask-fab {
    right: 12px;
    bottom: 82px;
    min-height: 42px;
    padding: 0 14px;
  }
}

@media (max-width: 1120px) {
  .sidebar .brand {
    align-items: center !important;
  }

  .brand-logo {
    width: 56px;
    height: 34px;
  }
}

/* ─── Fallbacks para browsers sem suporte a color-mix() ─────────────────────
   color-mix(in srgb, ...) requer: Chrome 111+, Firefox 113+, Safari 15.4+
   Em browsers mais antigos estes seletores usam rgba() estáticos equivalentes.
   B-03 — AI_PROJECT_GOVERNANCE.md
   ──────────────────────────────────────────────────────────────────────────── */
@supports not (background: color-mix(in srgb, red 50%, blue)) {
  /* Brand mark */
  .brand-mark {
    border-color: rgba(0,232,150,.34) !important;
    background: rgba(0,232,150,.12) !important;
  }

  /* Navegação ativa */
  .nav-item.active {
    border-color: rgba(0,232,150,.28) !important;
    background: rgba(0,232,150,.10) !important;
  }

  /* Badge / pill primário */
  .button.primary, .badge {
    border-color: rgba(0,232,150,.34) !important;
    background: rgba(0,232,150,.14) !important;
  }

  /* Emblema de métrica premium */
  .doc-premium-card em { background: rgba(0,232,150,.12) !important; }

  /* Pills de status / tendência */
  .sync-pill, .trend, .intensity, .status {
    background: rgba(237,244,255,.06) !important;
  }

  /* Status: excelente / bom / atenção / parcial / crítico / vazio */
  .trend.good, .status-executado, .status-concluido,
  .status-concluído, .status-excelente      { background: rgba(0,232,150,.12)  !important; }
  .status-bom, .status-substituido,
  .status-substituído                        { background: rgba(74,170,255,.13) !important; }
  .trend.warn, .status-atencao, .status-atenção,
  .status-reagendado, .status-planejado      { background: rgba(255,204,68,.14) !important; }
  .status-parcial, .status-pendente-confirmacao,
  .status-pendente-confirmação, .status-ajustado { background: rgba(255,122,50,.13) !important; }
  .status-critico, .status-crítico,
  .status-perdido, .status-cancelado         { background: rgba(255,68,85,.13)  !important; }
  .status-sem-dados                          { background: rgba(122,143,168,.13)!important; }

  /* Tipos de atividade — cards com cor lateral */
  .type-corrida   { background: rgba(255,122,50,.10) !important; }
  .type-forca,
  .type-força     { background: rgba(255,68,85,.10)  !important; }
  .type-ciclismo  { background: rgba(0,232,150,.10)  !important; }
  .type-mobilidade{ background: rgba(74,170,255,.10) !important; }
  .type-recuperacao,
  .type-recuperação { background: rgba(168,122,245,.10) !important; }
  .type-prova     { background: rgba(10,15,26,.85)   !important; }
  .type-bioimpedancia,
  .type-bioimpedância { background: rgba(122,143,168,.10) !important; }
  .type-descanso  { background: rgba(38,221,212,.10) !important; }
}
