ALTER TABLE org_usuarios
  ADD COLUMN IF NOT EXISTS intentos_fallidos SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER ultimo_acceso_en,
  ADD COLUMN IF NOT EXISTS bloqueado_hasta DATETIME NULL AFTER intentos_fallidos,
  ADD COLUMN IF NOT EXISTS ultimo_ip VARCHAR(45) NULL AFTER bloqueado_hasta,
  ADD COLUMN IF NOT EXISTS terminos_aceptados_en DATETIME NULL AFTER ultimo_ip,
  ADD COLUMN IF NOT EXISTS privacidad_aceptada_en DATETIME NULL AFTER terminos_aceptados_en;


CREATE TABLE IF NOT EXISTS org_preferencias_usuario (
  id_usuario BIGINT UNSIGNED PRIMARY KEY,
  tema ENUM('light','dark') NOT NULL DEFAULT 'light',
  idioma CHAR(2) NOT NULL DEFAULT 'es',
  zona_horaria VARCHAR(80) NOT NULL DEFAULT 'UTC',
  notificaciones_json JSON NULL,
  actualizado_en DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (id_usuario) REFERENCES org_usuarios(id) ON DELETE CASCADE,
  FOREIGN KEY (idioma) REFERENCES sys_idiomas(codigo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
