/**
 * Obsidian Lux — badges / chips / estados (Fase 2)
 */

html[data-theme="obsidian-lux"] .badge,
html[data-theme="obsidian-lux"] .saas-badge {
  border: 1px solid var(--border-primary);
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Neutros */
html[data-theme="obsidian-lux"] .badge.bg-secondary,
html[data-theme="obsidian-lux"] .badge.text-bg-secondary,
html[data-theme="obsidian-lux"] .badge.bg-secondary-subtle,
html[data-theme="obsidian-lux"] .badge.bg-light,
html[data-theme="obsidian-lux"] .badge.text-bg-light,
html[data-theme="obsidian-lux"] .badge.bg-light-subtle {
  background-color: var(--bg-elevated);
  color: var(--text-secondary);
  border-color: var(--border-primary);
}

/* Texto de énfasis neutro: hereda el color del tema (evita texto oscuro fijo). */
html[data-theme="obsidian-lux"] .badge.bg-secondary-subtle.text-secondary-emphasis,
html[data-theme="obsidian-lux"] .badge.bg-light-subtle.text-secondary-emphasis {
  color: var(--text-secondary);
}

html[data-theme="obsidian-lux"] .badge-pendiente,
html[data-theme="obsidian-lux"] .crud-admin-saas .badge-inactivo,
html[data-theme="obsidian-lux"] .productos-admin-saas .badge-inactivo.saas-badge {
  background-color: var(--olx-surface);
  color: var(--olx-muted);
  border-color: var(--olx-border);
  background-image: none;
}

/* Semánticos */
html[data-theme="obsidian-lux"] .badge.bg-success,
html[data-theme="obsidian-lux"] .badge.text-bg-success,
html[data-theme="obsidian-lux"] .badge.bg-success-subtle {
  background-color: color-mix(in srgb, var(--accent-primary) 18%, var(--bg-card));
  color: color-mix(in srgb, var(--accent-hover) 55%, var(--text-primary));
  border-color: color-mix(in srgb, var(--accent-primary) 32%, var(--border-primary));
}

html[data-theme="obsidian-lux"] .badge.bg-warning,
html[data-theme="obsidian-lux"] .badge.text-bg-warning,
html[data-theme="obsidian-lux"] .badge.bg-warning-subtle {
  background-color: color-mix(in srgb, var(--warning) 16%, var(--bg-card));
  color: color-mix(in srgb, var(--text-secondary) 90%, var(--text-primary));
  border-color: color-mix(in srgb, var(--warning) 32%, var(--border-primary));
}

html[data-theme="obsidian-lux"] .badge.bg-danger,
html[data-theme="obsidian-lux"] .badge.text-bg-danger,
html[data-theme="obsidian-lux"] .badge.bg-danger-subtle {
  background-color: color-mix(in srgb, var(--danger) 18%, var(--bg-card));
  color: color-mix(in srgb, #fca5a5 55%, var(--text-primary));
  border-color: color-mix(in srgb, var(--danger) 35%, var(--border-primary));
}

html[data-theme="obsidian-lux"] .badge.bg-info,
html[data-theme="obsidian-lux"] .badge.text-bg-info,
html[data-theme="obsidian-lux"] .badge.bg-info-subtle,
html[data-theme="obsidian-lux"] .badge.bg-primary-subtle {
  background-color: color-mix(in srgb, var(--bg-elevated) 88%, var(--text-primary) 12%);
  color: var(--text-secondary);
  border-color: var(--border-strong);
}

html[data-theme="obsidian-lux"] .badge.bg-primary,
html[data-theme="obsidian-lux"] .badge.text-bg-primary {
  background-color: color-mix(in srgb, var(--accent-primary) 22%, var(--bg-card));
  color: var(--text-primary);
  border-color: color-mix(in srgb, var(--accent-primary) 38%, var(--border-primary));
}

html[data-theme="obsidian-lux"] .text-primary-emphasis,
html[data-theme="obsidian-lux"] .text-success-emphasis,
html[data-theme="obsidian-lux"] .text-warning-emphasis,
html[data-theme="obsidian-lux"] .text-danger-emphasis,
html[data-theme="obsidian-lux"] .text-info-emphasis {
  color: var(--text-primary);
}

html[data-theme="obsidian-lux"] .border-primary-subtle,
html[data-theme="obsidian-lux"] .border-success-subtle,
html[data-theme="obsidian-lux"] .border-warning-subtle,
html[data-theme="obsidian-lux"] .border-danger-subtle {
  border-color: var(--border-primary);
}

/* Módulos CRUD */
html[data-theme="obsidian-lux"] .clientes-admin-saas .badge.badge-citas.saas-badge {
  background: color-mix(in srgb, var(--bg-elevated) 75%, var(--accent-primary) 25%);
  color: var(--text-secondary);
  border-color: var(--border-primary);
  background-image: none;
}

html[data-theme="obsidian-lux"] .productos-admin-saas .stock-bajo.saas-pill {
  background: color-mix(in srgb, var(--warning) 14%, var(--olx-card));
  color: color-mix(in srgb, var(--olx-text-secondary) 90%, var(--olx-text));
  border-color: color-mix(in srgb, var(--warning) 30%, var(--olx-border));
  background-image: none;
}

html[data-theme="obsidian-lux"] .productos-admin-saas .stock-agotado.saas-pill {
  background: color-mix(in srgb, var(--danger) 16%, var(--olx-card));
  color: color-mix(in srgb, #fca5a5 50%, var(--olx-text));
  border-color: color-mix(in srgb, var(--danger) 32%, var(--olx-border));
  background-image: none;
}

html[data-theme="obsidian-lux"] .historial-badge-metodo {
  font-weight: 600;
}

html[data-theme="obsidian-lux"] .estado-badge-inline {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.35rem 0.65rem;
  border-radius: 8px;
}

html[data-theme="obsidian-lux"] .empleado-badge-facturar {
  display: inline-block;
  max-width: 100%;
  padding: 0.25rem 0.55rem;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 600;
  background-color: var(--badge-emp-accent, var(--bg-elevated));
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
}

html[data-theme="obsidian-lux"] .cita-row-empleado {
  border-left-color: var(--cita-emp-accent, var(--border-strong));
}

html[data-theme="obsidian-lux"] .badge.bg-purple-subtle,
html[data-theme="obsidian-lux"] .text-purple-emphasis.border.border-purple-subtle {
  background-color: color-mix(in srgb, var(--accent-primary) 18%, var(--olx-card));
  color: var(--olx-text-secondary);
  border-color: var(--olx-border);
}

html[data-theme="obsidian-lux"] body.historial-pagos-saas .historial-badge-metodo {
  border-radius: 999px;
  padding: 0.26rem 0.52rem;
  font-size: 0.69rem;
}

html[data-theme="obsidian-lux"] body.usuarios-admin-saas .badge-protegido {
  background-color: color-mix(in srgb, var(--olx-surface) 70%, var(--accent-primary) 30%);
  color: var(--olx-text);
  border: 1px solid var(--olx-border);
  font-weight: 600;
}

html[data-theme="obsidian-lux"] body.usuarios-admin-saas .badge-inactivo {
  background-color: var(--olx-surface);
  color: var(--olx-muted);
  border-color: var(--olx-border);
}
